2013-08-30 3 views
0

У меня есть существующий проект с использованием RIAServices с Entity Framework. Проект выполняется правильно и генерирует файл AmsiWeb.g.cs со всеми классами контекста для моих служб.Почему RIAServices.EntityFramework NuGet Package нарушает создание кода класса контекста?

Я преобразовываю объекты, созданные на основе конструктора, и ObjectContext с объектами Code First и DbContext. Я установил пакет RIAServices.EntityFramework NuGet в веб-приложение, которое содержит мои службы. Однако теперь, когда я создаю файл AmsiWeb.g.cs, он содержит только класс WebContext. Он не содержит никаких сгенерированных сервисов.

Я только в этой точке преобразовал единую модель EDMX в Code First и DbContext и внес необходимые изменения в службы, которые используют эту модель для наследования от DbDomainService.

Я использую EF 5.0 ... не уверен, что это важно, потому что я не уверен, что добавление DLL в проект приложения AmsiWeb приведет к сломанию генерации кода.

Что может привести к тому, что это перестанет работать и как я могу его исправить?

ответ

0

Оказывается, их необходимо перенаправить для Entity Framework 5.0 (4.4.0.0 с тех пор, как я использовал .Net 4.0) в web.config. Но, поскольку мои службы RIA были в проекте веб-приложений, который не был моим корневым проектом, код не генерировал.

Как только я добавил перенаправление на web.config веб-приложения с помощью служб RIA, код контекста был правильно сгенерирован.

0

Возможно, это проблема в задаче msbuild, которая генерирует прокси-код (я имею в виду файл * .g.cs). Вероятно, он ищет неправильную версию инфраструктуры сущности. Взгляните на это сообщение в блоге http://mcasamento.blogspot.it/2012/10/entity-framework-5-code-first-and-wcf.html в заключительной части. Я написал инструкцию для перенаправления сборки, которая сделала трюк.