Создание аннотаций данных с помощью Fluent API и ObjectContext - PullRequest
1 голос
/ 05 апреля 2011

Я создаю приложение с использованием MVC 3 и Entity Framework 4. Я создал свою модель данных Entity и сгенерировал из нее базу данных.Теперь я знаю, что атрибуты проверки, такие как [Required] или [StringLength (5)], могут использоваться в свойствах модели для проверки как на стороне клиента, так и на стороне сервера.

Я хотел бы знать, могут ли эти атрибуты также бытьгенерируется динамически вместо того, чтобы явно добавлять их в модель?Я видел, что в EF 4.1 RC вы можете использовать Fluent API для дальнейшей настройки вашей модели в методе OnModelCreating с помощью класса DbModelBuilder.Как показано здесь Я работаю с фреймворком, который все еще использует ObjectContext вместо DbContext, поэтому я хотел бы знать, можно ли использовать вышеуказанное решение в сочетании с ObjectContext?

КакИ последнее замечание: поскольку я пытался выяснить, как создавать и использовать аннотации данных, кажется, что использование моделей представлений увеличит сложность проверки.Из того, что я прочитал здесь , кажется, что простая передача моделей непосредственно в представление избавит от необходимости добавлять аннотации к моделям, а также к моделям представления.Однако это означает, что вы больше не можете использовать строго типизированные представления, когда вы объединяете модели и передаете их непосредственно в представление?

Ответы [ 2 ]

0 голосов
/ 15 мая 2013

Я столкнулся с тревожной проблемой при использовании классов poco, которые расширяют базовые классы. Например, допустим, у вас есть класс Person poco со строго типизированным свойством Car. У вас также есть Poco супруга, который также использует собственность автомобиля.

Теперь вы хотите отобразить «Автомобиль человека» и «Автомобиль супруга» в представлении с помощью атрибута «Отображение (« Имя = xxx »). Вы не можете !!! Эта проблема возникает, если вы не используете плоские модели просмотра

0 голосов
/ 05 апреля 2011

Нет, не может. Свободный API - это другой подход к описанию карт. Вы можете использовать свободный API или EDMX (Entity Data Model). Не оба. Fluent API также работает только с DbContext API. Если вы хотите, чтобы генерировались аннотации, вы можете попробовать изменить шаблон T4, генерирующий ваши классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...