2012-03-24 8 views
0

EF делает некоторые свойства, не имеющие значения по умолчанию в базе данных, есть ли способ преодолеть это для определенных свойств? Я попытался найти аннотацию данных, но ничего не нашел.C# Entity Framework 4.3

Я использую код первого свойства являются ИНТ и DateTime

+2

Вы используете код в первую очередь? Каков тип собственности? –

+1

Покажите нам какой-нибудь код, пожалуйста. – IAbstract

+0

Возможно, дублированный вопрос - http://stackoverflow.com/questions/7941472/entity-framework-code-first-default-values-on-non-nullable-types –

ответ

4

Я предполагаю, что вы используете код первой. Вы, вероятно, получить ненулевыми для типов, которые действительно ненулевые (типов значений), как INT, BOOL и т.д. Вы должны использовать обнуляемую версию этих, чтобы сделать это:

int? MyColumnThatIsNullable 

и НЕ это

int MyColumnThatIsNOTNullable 

Подумайте о том, как код будет работать, и это будет иметь смысл для вас. Если поле является int, и в код пытается быть передано значение null, то вы либо будете иметь какую-то ошибку, либо значение magic (default). Это не будет правильно представлять значение в базе данных. Итак, если вы используете версию с нулевым значением, то нуль в базе данных может быть представлен для того, что это действительно так, null.

+0

Hah! теперь, когда вы упомянули об этом, это имеет смысл, и я не могу понять, как я его пропустил. Спасибо – Roge

+1

@Roge Нет проблем, я добавил объяснение ниже моего первоначального ответа (хотя вы сказали, что получили его :)). Как обычно принимаемые ответы (как только 15-минутный льготный период заканчивается), а upvotes оцениваются :) –

Смежные вопросы