2014-02-14 3 views
0

Я пытаюсь преобразовать базу данных SQL Server в модель данных Entity Framework (версия 6.0). Классы генерируются отлично, но требуемые поля не оформляются как таковые. В результате проверка не работает (в веб-приложении MVC 5). Есть ли способ заставить модель сгенерировать эти атрибуты автоматически или мне нужно вручную писать классы метаданных для всех моих сущностей?ADO.Net Entity Data Model не украшает поля с обязательным атрибутом

+0

Как вы пытаетесь его перестроить? Какой стиль вы используете? (сначала код edmx?), почему вы в зависимости от модели данных проверяете свой пользовательский интерфейс? –

+0

Я использую edmx. Я считал, что классы, созданные emdx, будут содержать соответствующие атрибуты (такие как максимальная длина, требуемые и т. Д.), Чтобы быстрее создавать CRUD-интерфейсы. – kagelos

+0

Не рекомендуется использовать модель данных непосредственно в пользовательском интерфейсе. Одна из причин заключается в том, что требования к модели данных могут отличаться от требований к пользовательскому интерфейсу. Кроме того, атрибуты, используемые для длины Max, и то, что не отличаются в EF и MVC. Вместо этого вы должны использовать модель представления. –

ответ

1

Разговаривая на ваш вопрос, каковы ваши предположения для обязательных полей? Вы имеете в виду не-nullable?

EF должно указывать любое поле, которое помечено как не равное null как тип значения, не допускающего nullable (int, decimal, bool и т. Д.), Или он будет делать поля, необходимые с помощью проверки xml. EF обычно не добавляет атрибутов.

MVC автоматически сделает любые требуемые значения, никаких атрибутов не требуется. Для строк или других возможных типов с нулевым значением вам потребуется либо «классы друзей», чтобы добавить нужные вам атрибуты, либо использовать модели просмотра.

+0

Да, моя проблема связана с строковые поля. Думаю, я подойду к классам метаданных. – kagelos

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