Лучшая практика Entity Framework - PullRequest
3 голосов
/ 31 марта 2011

Я занимаюсь разработкой приложения ASP.NET (WebForms) и использую EntityFramework.Мне было интересно, какова лучшая практика использования сущностей.Создать несколько сущностей для всей базы данных или создать много сущностей для специализированных целей ?!

Примером этого является: у меня есть таблица клиентов.В этой таблице есть ForeignKey для таблиц Customers_addresses и Customers_phones.У меня есть два случая в этом наборе данных

  1. Автозаполнение имени клиента
  2. Показать данные пользователя

Для случая 1 я получил одну сущность, которая имеет только имя"Столбец сопоставлен с пользователем в БД. Для случая 2 я получил другую сущность, у которой есть все данные и соединения между другими таблицами.

Теперь мне было интересно, будет ли только одна сущность (номер 2) подходить для обоих случаев.

Какая лучшая практика с EF?

1 Ответ

7 голосов
/ 31 марта 2011

Я не вижу причины, в вашем случае, иметь специализированный объект для сценария автозаполнения.Поскольку вы будете использовать Linq to Entities для всех своих запросов, просто убедитесь, что вы выбираете только имя клиента из сущности, а не саму сущность

from Customer cust in ent.Customers
select new {
    CustomerName = cust.CustomerName
};

Таким образом, у вас все еще есть легкий SQLзапрос на бэкэнд, но вы не загрязняете свои модели ненужными, «специализированными» сущностями.

Кроме того, если вы используете отложенную загрузку, вам не нужно беспокоиться о загрузке EF какой-либо связаннойинформация о сущности, если она вам действительно не нужна.

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