Я перехожу от классического asp к .NET. Так что это может быть глупый вопрос, но я не могу найти ответа.C# автоматически сгенерированный частичный класс redefine свойство get set
У меня есть приложение MVC с использованием базы данных First и Entity Framework. Теперь я хотел бы добавить некоторую логику к автоматически генерируемым «неполным» классам. Из того, что я прочитал, должно быть связано с созданием нового частичного класса с тем же пространством имен и именем. Но когда я делаю это, я получаю сообщение об ошибке «(этот член определен более одного раза)» и «Неоднозначность между [partial class] и [partial class]». Я понимаю, что говорит об ошибке, но я не уверен, как решить проблему.
Я хотел бы добавить некоторую логику в набор; сбруя.
Таким образом, в созданном классе у меня есть
public partial class QualityChecks
{
.....
public int DailyCount { get; set; }
...
}
в моем новом частичном классе я хотел бы добавить к заданному коду, чтобы убедиться, что только значения больше чем 0 добавляются. Если добавлено отрицательное значение, его необходимо зарегистрировать и изменить на 0 , например. мой новый частичный класс:
public partial class QualityChecks {
public int DailyCount {
set
{
DailyCount = value;
if it's < 0 log and set to 0
}
}
Если это не ясно, может быть, это поможет: В настоящее время у меня есть нагрузок кода, который просто делает
QualityChecks qc = new QualityChecks();
qc.DailyCount = enteredAmount;
....
db.QualityChecks.add(qc);
Вместо затем обновить эту логику везде, было бы неплохо заверните его в класс QualityChecks.
Правильно ли это происходит? Если да, то что мне нужно изменить, чтобы сделать эту работу?
Благодарим вас за любые советы и помощь!
В качестве альтернативы вы рассмотрели эту идею: сохраните эти классы сущностей только внутри вашего кода репозитория. Затем используйте что-то вроде https://github.com/AutoMapper/AutoMapper для сопоставления между этими классами сущностей и другими классами данных, которые могут содержать требуемые вами проверки. Сюда. вы избегаете проблем с частичными классами. –
funtily достаточно Я использую Automapper в другом месте этого проекта, отлично работает. Я не использовал это. Вероятно, это моя неопытность, но создание нового класса и картографии кажется более беспорядочным? – jimmy