Как заключить самоконтроль POCO в EF4 и Silverlight? - PullRequest
0 голосов
/ 03 января 2011

Я хотел бы иметь модель EntityFramework4 (.edmx и .context.tt) в библиотеке классов с именем ModelLibrary и объекты, генерируемые кодом, вкл. частичные классы (.tt) внутри отдельной библиотеки классов Silverlight, называемые EntitiesLibrary .

Таким образом, я надеялся поделиться EntitiesLibrary с моим приложением silverlight для самостоятельного отслеживания. Чтобы использовать этот проект в приложении silverlight, библиотека классов должна быть библиотекой классов Silverlight, и я думаю, что именно здесь начинается проблема.

На следующем шаге я добавил проект приложения Siverlight и позволил разместить его в новом веб-проекте ASP. В веб-проекте ASP я добавил службу WCF и ссылку на ModelLibrary и EntitiesLibrary и создал там некоторые операции CRUD.

Теперь в приложении Silverlight я добавляю ссылку на службу в службу Wcf, в то время как она может обнаружить службу, нажав кнопку ОК; Я получаю сообщение об ошибке:

Не удалось загрузить файл или сборку 'System.Runtime.Serialization, версия = 2.0.5.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e' или одна из ее зависимостей. Система не может найти указанный файл.

На Service.svc.cs - при отсутствии проблем с компиляцией - Resharper показывает мне некоторые ошибки на сущностях, используемых в операциях:

Следует ссылаться на модуль 'Система, Версия = 2.0.5.0, Культура ....'.

* * ??? 1 022 Теперь я полностью застрял. Также необычным является то, что под ссылками ModelLibrary и под ASP веб-хоста, указывающими на EntitiesLibrary, я вижу желтую маркировку. Это происходит только потому, что последний имеет тип библиотеки классов Silverlight. Этого не произойдет, если у меня будет нормальная библиотека классов.

Было бы здорово, если бы у меня был совет, Большое спасибо Кава

1 Ответ

0 голосов
/ 10 января 2011

Я следовал книге Дженни Лерман "Entity Framework", где она создает ссылку на автоматически сгенерированные сущности в отдельной библиотеке классов.

Как я и подозревал, если бы я использовал консольное приложение вместо Silverlight и имел бы простую библиотеку классов для своих сущностей, это бы работало просто отлично. Ссылка на добавленный веб-сервис может работать с сущностями для создания прокси. Как в книге.

Однако, если библиотека классов имеет тип библиотеки классов Silverlight - из-за ограничений в сборках Silverlight - ссылка на службу WCF, указывающая на веб-службу CLR 4.0, не может быть каким-либо образом создана из-за несовпадения библиотек.

Я перестал углубляться в этот вопрос и с тех пор пытаюсь заставить RIA Services работать, что кажется гораздо более перспективным, чем POCO с самостоятельным отслеживанием.

Тем не менее, проблемы с надлежащей инфраструктурой n-уровня еще предстоит выяснить.

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