2010-07-23 3 views
3

Я создал новую модель данных сущности моей базы данных и вручную создал объекты POCO для этого, чтобы отобразить их, и все это работает нормально.Entity Framework 4 Сопоставление с POCOs

Проблема: теперь я хочу переименовать свойства в своих объектах POCO, чтобы они отличались от имен полей в базе данных, например, я хочу, чтобы UserID, а не user_id, когда я это делаю, очевидно, что EF больше не может сопоставить сущность с Объект POCO. Есть ли способ, которым я могу это сделать? Может быть, украсив свойства атрибутами, чтобы сказать, какие карты им?

ответ

3

Вы можете изменить его в Entity Designer. Модель данных Энти (EDM) содержит 3 основные части:

  • Концептуальная модель. Какие объекты вы хотите сохранить.
  • Модель хранения. Какая структура базы данных у вас есть.
  • Картирование. Как сопоставить объекты с базой данных.

POCOs на самом деле «определены» в вашей концептуальной модели. Откройте файл Edmx в Model Designer. Найдите там объект пользователя и измените имя свойства.

+0

блестящий именно то, что я искал спасибо – Gavin

+0

Вы приветствуются :) –

2

Другой подход к сопоставлению POCO с существующей структурой базы данных заключается в использовании функции Code First EF CTP 4. Код Сначала следует определенные соглашения для сопоставления POCO с таблицами/столбцами базы данных. Это устраняет необходимость поддерживать файлы .edmx или mapping, что делает вас более продуктивными. Чтобы настроить сопоставление, как это делается ala Fluent nhibernate, я считаю, что EF CTP5 будет иметь эту функцию.

Вот статья в блоге, которая вам может пригодиться.

http://theminimalistdeveloper.com/2010/07/28/how-to-map-pocos-to-existing-databases-in-entity-framework-4-0-code-first-and-asp-net-mvc-2/

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