如何解决ado.net entity framework的使用,再别的调用项目中依然正常
2010-02-06 21:36 AnyKoro 阅读(529) 评论(0) 收藏 举报ado.net entity framework,在生产实体模型后。会生成一长串的connectionstring。如果此时你又新建了一个project,去调用原先放实体模型的project中的实体模型。这个时候就会发现问题,他总会抛出异常。。。具体的忘记了,大致意思说是找不到有效地连接字符串。此时,如果要解决的,最简单的办法就是直接把放实体模型的项目的config文件复制到调用的那个项目中。这样就一切ok了。但是看似一切都很简单,但如果是wcf远程调用呢?这个貌似就不能这么做了吧。这个时候,我们只有改写实体模型生成时候的构造函数。
以下是代码:
public AnyEntities()
: base(new EntityConnection(@"metadata=res://*/ANY.csdl|res://*/ANY.ssdl|res://*/ANY.msl;provider=System.Data.SqlClient;provider connection string='Data Source=(local);Initial Catalog=ANY;Integrated Security=True; MultipleActiveResultSets=True'"), "AnyEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
红色部分就是改写的部分,改写的connection中的connectionstring是从对应的config文件中拷贝出来的。但是要注意一个细节
config文件的connectionstring
metadata=res://*/24ANY.csdl|res://*/24ANY.ssdl|res://*/24ANY.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(local);Initial Catalog=24ANY;Integrated Security=True;MultipleActiveResultSets=True"
看到红色的部分了。需要把这个替换为单引号!
ok,一切ok了。
浙公网安备 33010602011771号