Службы RIA: предоставлять услуги, когда объекты находятся в проекте, отличном от EDMX?

#c# #entity-framework #wcf-ria-services

#c# #entity-framework #wcf-ria-services

Вопрос:

Мое решение Visual Studio имеет следующую архитектуру :

  • проект «DataAccess», содержащий один EDMX с его классом «object context» (но без какого-либо сгенерированного бизнес-класса)
  • проект «Сущности», содержащий бизнес-объекты, созданные из EDMX. (например: класс Customer, класс Order, класс Product и т. Д.).
  • «Веб» проект, содержащий ASP.Net Графический интерфейс.

Теперь я хочу добавить небольшую область Silverlight в мое существующее приложение с помощью служб RIA. Мне не удается создать службу домена: мастер «Добавить новый класс службы домена» содержит мой ObjectContext, но сам не содержит объектов. Похоже, это потому, что EDMX НЕ находится в той же сборке, что и мои объекты.

Теперь я не хочу перестраивать свое существующее приложение с новой архитектурой путем объединения 2 проектов (фактическая архитектура кажется мне чистой).

Как я могу сделать это % $$$! мастер видит мои объекты? Должен ли я создавать класс службы домена вручную? Как?

Спасибо!

РЕДАКТИРОВАТЬ: я использую C # (4), EF 4, Silverlight4

РЕДАКТИРОВАТЬ 2: мои объекты создаются с помощью «ADO.NET Генератор сущностей POCO».

Ответ №1:

Должен ли я создавать класс службы домена вручную?

Я так считаю. То же самое происходит при использовании EF 5 с POCOs, мастер не распознает объекты. На сайте Колина Блэра есть несколько полезных фрагментов для создания методов CRUD поверх DbContext .