gpt4 book ai didi

sql-server-2005 - 在单个 ASP.NET 应用程序中使用 Entity Framework 的多个版本的 SQL Server

转载 作者:行者123 更新时间:2023-12-04 01:30:05 26 4
gpt4 key购买 nike

我在使用 SQL Server 2000、2005 和 2008 的 Web 应用程序中使用 Entity Framework 。当我使用 2008(创建的第一个 edmx 的版本)以外的任何内容创建新的 EDMX 文件时,我收到 error 0172: All SSDL artifacts must target the same provider. The Provider 'MyDatabase' is different from ' MyDatabase ' that was encountered earlier.似乎在代码中的某个地方,连接被连接到 2008 数据存储,当它检查 SSDL 文件并看到不同的 ProviderManifestToken 值时,它会引发此错误。我有点沮丧。很难想象 EF 只适用于每个应用程序的单个版本的 Sql Server。我相当确定必须有一个设置或解决方法。有没有人有在单个 Web 应用程序中使用不同版本的 SQL 服务器和 Entity Framework 的解决方案?

最佳答案

我能够通过放置每个 edmx 来实现这一点。在一个单独的程序集中。然后在连接字符串中,替换所有 res://*/...res://NameOfAssembly/...
我什至可以在两个实体模型之间执行连接(与我在其他来源中发现的声明相反),例如:

var oneDb = new Entities2000();
var otherDb = new Entities2005();

var results = from one in oneDb.SomeSet
join other in otherDb.OtherSet
on one.Property equals other.Property
select new {
SomeProp = one.SomeProp,
OtherProp = other.OtherProp
};

关于sql-server-2005 - 在单个 ASP.NET 应用程序中使用 Entity Framework 的多个版本的 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1061409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com