Какие проблемы будут у меня с Entity Framework, чтобы выбрать конкретные столбцы вместо всего объекта? - PullRequest
0 голосов
/ 22 мая 2009

Какие у меня будут проблемы, если я изменю свои запросы Entity Framework с этого:

var contracts = from contract in Context.Contracts select contract;

к этому:

var contracts = from contract in Context.Contracts select new MyContract{ Key = contract.key, Advertiser = new MyAdvertiser{ Key = contract.Advertiser.Key } };

т.е. Переход от выбора контракта к выбору нового объекта на основе столбцов контракта.

В любом подходе я сопоставляю сущности объектам домена после загрузки и возвращаю сущности при сохранении.

Ответы [ 2 ]

5 голосов
/ 22 мая 2009

В этом подходе нет ничего плохого. Необходимо помнить несколько вещей:

1) Доменные объекты всегда должны быть полностью заполнены, чтобы предотвратить случаи, когда процесс домена пытается использовать данные, которые выглядят так, как есть, но нет. Если у вас есть те же доменные процессы, которым не требуется полный набор данных из объекта домена, и вам не нужно загружать ненужные данные, создайте второй объект домена для использования в этих процессах.

2) Серверы баз данных могут оптимизировать запросы с одинаковыми списками полей лучше, чем запросы с разными списками полей. Если для этого приложения важна производительность, убедитесь, что вы измерили влияние, которое это изменение оказывает на производительность запросов. Похоже, что ограничение набора результатов увеличит производительность, и, как правило, так и происходит, но не всегда.

0 голосов
/ 22 мая 2009

Не думаю, что у вас возникнут какие-либо проблемы (я тоже так делаю), просто убедитесь, что вы написали метод для сопоставлений, чтобы вам не приходилось повторять их в каждом запросе.

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