Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 EF Code First: как объявить поле string с nullable: false  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21958
то есть при объявлении
    [MaxLength(50)]
    public string Name { get; set; }

в базе я получаю поле nvarchar, допускающее null
потому что string допускает null, видимо, из соображений безопасности типов

Если я хочу добиться, not null в базе, мне придется создавать структуру типа string самому? или есть более простые пути?
5 апр 14, 12:37    [15836594]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1876
Shocker.Pro,

пометьте поле атрибутом [Required]
5 апр 14, 12:48    [15836625]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21958
Тогда оно станет обязательным к заполнению - мне это не требуется
5 апр 14, 12:50    [15836631]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1876
Shocker.Pro,

оО, вам нужно not null поле, этот атрибут делает поле not null....
5 апр 14, 12:52    [15836640]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1876
Shocker.Pro,
ну и естественно оно станет обязательным, нельзя вставить в не-null поле значение null. Можно в конструкторе задать по-умолчанию значение равное String.Empty
5 апр 14, 12:54    [15836646]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21958
Lelouch
ну и естественно оно станет обязательным, нельзя вставить в не-null поле значение null.
а про "пустую строку" вы что-нибудь слышали? мне нужно, чтобы поле не принимало null, но принимало пустую строку, атрибут required не допускает пустой строки на уровне EF.

Lelouch
Можно в конструкторе задать по-умолчанию значение равное String.Empty
гм, ну, наверное, в моем случае это проблему решит... хотя я, конечно, сторонник целостности на уровне БД.
5 апр 14, 12:59    [15836672]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1876
Shocker.Pro,

ну вы неправильно понимаете, допускает он пустую строку.
5 апр 14, 13:04    [15836690]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1876
Shocker.Pro,

если верить гуглу, у атрибута есть свойство AllowEmptyString
5 апр 14, 13:18    [15836745]     Ответить | Цитировать Сообщить модератору
 Re: EF Code First: как объявить поле string с nullable: false  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21958
Lelouch
если верить гуглу, у атрибута есть свойство AllowEmptyString
О! Вот это и нужно. Огромное спасибо.
5 апр 14, 13:26    [15836770]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить