如何解决ado.net entity framework的使用,在别的调用项目中依然正常

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://*/model.csdl|res://*/model.ssdl|res://*/model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(local);Initial Catalog=model;Integrated Security=True;MultipleActiveResultSets=True"

看到红色的部分了。需要把这个替换为单引号!

ok,一切ok了。





 » 订阅本站:RSS订阅

发表评论

您也可以使用微博账号登陆

无觅相关文章插件,快速提升流量