Я новичок в Entity Framework и первом подходе к базе данных. Может кто-нибудь мне помочь?
Вот случай:
У меня есть чистый, обычный доменный класс (Person) только со свойствами. Этот класс определен в VS-проекте, который будет содержать только доменные классы без какой-либо ссылки на Entity Framework или другие вещи, принадлежащие уровню доступа к данным.
У меня также есть таблица базы данных (tblPerson). Я создал для него EDMX и использовал DbContext Generator для создания для него POCO-классов.
Важно, чтобы ссылки на структуру сущностей были отделены от проекта с классом предметной области, и я хочу использовать шаблон репозитория в сочетании с внедрением зависимостей.
Вопрос в том:
Как мне «сопоставить» POCO-класс Entity Framework с моим существующим классом домена? У них такие же свойства. Я читал что-то о прокси, классах друзей и многом другом, но не нашел хороших примеров.
Пожалуйста помоги.
Допустим, класс модели предметной области выглядит так (просто пример):
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
и таблица базы данных имеет те же столбцы:
Идентификатор (целое число, не нуль, первичный ключ) Имя (nvarchar(50), не нуль)
Обновление:
Хорошо, я нашел решение. Я сделал то, что предложил Ладислав Мрнка и получил от ObjectContext. Вот страница, описывающая, как это делается: Entity Framework 4.0. Часть 4. Как использовать собственные POCO
ObjectSet
с вашими классами предметной области. - person Ladislav Mrnka   schedule 20.08.2012