Можно ли использовать функцию отложенной загрузки в EntityFramework4 в сочетании с WCF? - PullRequest
0 голосов
/ 12 октября 2010

мое приложение использует WPF для пользовательского интерфейса, WCF для WebService, EF4 для DataAccess.Я прочитал некоторые материалы из Интернета и MSDN, что EF4 имеет функцию самоконтроля, используя пользовательский шаблон T4, даже если он используется вместе с WCF для более поздних.Означает ли это, что функция отложенной загрузки все еще возможна с WCF?

Спасибо

1 Ответ

0 голосов
/ 12 октября 2010

Само-отслеживающиеся сущности отчасти хакерские, ИМХО.Они разработаны таким образом, что после десериализации (т. Е. На дальнем конце канала WCF) они начинают отслеживать изменения для себя.Это прекрасно, когда вы отправляете их домой, потому что вы можете подключить их к контексту, и все (гипотетически) работает.

Самостоятельное отслеживание и отложенная загрузка - это две разные вещи.Объекты самоконтроля EF отключены от контекста данных, и на стороне клиента нет контекста данных.Поэтому они не могут ничего лениво загружать.

Не существует инфраструктуры plug-and-play, смешивающей WCF и EF, которая, с точки зрения клиента, является бесшовной.Можно было бы сделать, конечно.Несколько новых шаблонов T4, и у вас будет автоматически сгенерированный сервисный контракт WCF, который ваши организации могут использовать для выполнения отложенной загрузки.

Конечно, вам придется написать это.
Редактировать Если подумать, вам может повезти с Службы данных WCF .

...