我想在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
有人可以帮忙吗?
答案 0 :(得分:1)
选择YorDoaminContainer.csdl,YorDoaminContainer.ssdl文件和YorDoaminContainer.msl文件然后 在Properties中,将Build Action设置为Embedded Resource。 然后确保你有三个资源的正确连接字符串。
例如:
<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>