У меня есть код-первая модель Entity Framework, в которой Поставщик должен всегда иметь SupplierGroup:Карты обязательного поля для NULLABLE в базе данных
public virtual SupplierGroup SupplierGroup { get; set; }
public int SupplierGroupId { get; set; }
Но основную базу данных должны иметь SupplierGroupId в обнуляемом (из-за другие используя его, в котором Поставщик может существовать без Группы поставщиков).
Есть ли способ заставить Entity Framework генерировать/сопоставлять нулевое поле базы данных, но в противном случае продолжать обрабатывать поле в модели по мере необходимости?
Я попытался бегло отображение:
modelBuilder.Entity<Supplier>()
.Property(s => s.SupplierGroupId)
.IsOptional();
Но когда код-первых генерироваться базы данных, поле было еще не обнуляемым.
(Если когда-либо запрашивался поставщик без Группы поставщиков, это должно вызывать исключение, поскольку оно никогда не должно происходить).
Сверху моей головы вы пробовали 'public int? SupplierGroupId {get; задавать; } '? –
@Sameer Это то, чего я пытаюсь избежать. Я хочу, чтобы модель думала, что у нее есть поле, отличное от нуля, но база данных действительно имеет значение с нулевым значением. – Appetere
Итак, вы хотите, чтобы ваша модель обрабатывала нулевой столбец базы данных как недействительный? Я не использовал EF через некоторое время, но то, что у вас есть в вашем вопросе, должно быть достаточно. Вы можете попробовать добавить атрибут '[Обязательный]' к свойству 'SupplierGroupId'. –