Я только начинаю работать с Entity Framework. Проблема, с которой я сталкиваюсь, заключается в том, что это ORM, который моделирует все как объекты реального мира. Следовательно, если я получаю родительскую запись, ее дочерние записи выбираются автоматически. Если у меня есть 1000 записей о детях, все они извлекаются, хотя в данный момент они мне могут и не понадобиться. Это я считаю очень неэффективным.
Вы бы посоветовали использовать Lazy Loading в Linq и таким образом решить проблему, чтобы sql не отправлялся на SQL Server до тех пор, пока к нему не будет получен доступ. Но что, если я работаю в веб-сервисе или в среде WCF? В веб-сервисах мы видим модель ответа на запрос. И, как я знаю, мы не можем использовать отложенную загрузку в веб-сервисах, потому что веб-сервисы не будут вызываться на лету при доступе к этому свойству: d.
Скажите, у меня есть order
и orderDetails
таблица. В некоторых случаях я хочу orderDetails
, как только я получаю заказ, а в других я не хочу orderdetails
.
Я никогда не сталкивался с этой проблемой при использовании хранимых процедур. Но поскольку Linq является стандартным средством для запроса любых данных, я попал в его руки.
Итак, как мне решить эту проблему?
Заранее спасибо:)