代码改变世界

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

  AnyKoro  阅读(523)  评论(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了。

 

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示