DomainService работает только с файлом EDMX? - PullRequest
1 голос
/ 16 августа 2010

Я хочу добавить новый класс обслуживания домена в vs2010.Я выбираю контекст базы данных моей структуры сущностей в диалоговом окне «Добавить новый класс обслуживания домена», но он не показывает мне доступные сущности.Если я нажимаю «ок», VS2010 выдает мне следующее сообщение об ошибке:

---------------------------
Microsoft Visual Studio
---------------------------
Value cannot be null.

Parameter name: ssdlPath
---------------------------
OK   
---------------------------

Причина этого в том, что у меня нет файла EDMX (я пробовал его с файлом EDMX, и он работал),Вместо этого у меня есть отдельный файл csdl, msl и ssdl.Это потому, что я хочу поддерживать несколько баз данных.

Как я могу использовать класс LinqToEntitiesDomainService с моим контекстом данных?Объекты сущности и контекст данных генерируются с помощью шаблона POCO.Если я добавляю класс Domain Serive вручную (без использования службы домена wizzard), я получаю ошибку времени компиляции, которая говорит в основном то же самое:

MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Ria.Client.targets(303,5): error : Value cannot be null.
MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Ria.Client.targets(303,5): error : Parameter name: ssdlPath

Может кто-нибудь помочь?

1 Ответ

1 голос
/ 23 августа 2010

Выберите YorDoaminContainer.csdl, файл YorDoaminContainer.ssdl и файл YorDoaminContainer.msl, а затем в свойствах установите для параметра «Действия при построении» значение «Встроенный ресурс».И затем убедитесь, что у вас есть правильная строка подключения для этих трех ресурсов.

, например:

<connectionStrings>
    <add name="DomainModel" 
         connectionString="metadata=res://*/NameSpace.DomainController.csdl|res://*/NameSpace.DomainController.ssdl|res://*/NameSpace.DomainController.msl;
         provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
         Initial Catalog=DB;Integrated Security=True;Connection Timeout=60;
         providerName="System.Data.EntityClient" />
</connectionStrings>
...