gpt4 book ai didi

asp.net - 使用 edmx 文件时如何在连接字符串中指定元数据位置

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

我有一个 Web 项目,其数据模型定义在 edmx 文件中。连接字符串如下所示:

元数据=res://*/;

这已经工作了一段时间。但是在该项目上工作的其他人创建了一个也使用 Entity Framework 的 dll,并将其添加到 bin 文件夹中。现在,当我尝试创建连接时,加载元数据时出错。

除了完全改变我们一个人或两个人做事的方式之外,我想知道如果我的连接字符串可以更改为仅查找在我的 edmx 文件中定义的元数据,是否可以解决问题。问题是,在我的一生中,我找不到正确的语法来做到这一点。元数据嵌入在输出程序集中,因此没有指向的物理元数据文件。我应该如何在连接字符串中指定元数据位置?

最佳答案

是的,我以前见过这个问题。而且有人问这个问题只是时间问题。

基本上res://*/加载所有程序集中的所有元数据,因此如果有不止一组元数据 EF 会感到困惑。

所以使用 res://*/默认情况下,正如 EF 在 WebApplications 中所做的那样,这是一个错误,不幸的是,我们没有时间解决它。

解决方法是使连接字符串更具体,如下所示:
res:///App_Code.Northwind.csdl|res:///App_Code.Northwind.ssdl|res://*/App_Code.Northwind.msl;

其中 App_Code 是 App_Code 文件夹(假设这是您的模型在您的网络项目中的位置),而 Northwind 是您的 EDMX 的名称。如果您在获取要使用的名称时遇到问题,请使用 Reflector 之类的东西查看程序集中的资源名称。

这样做会告诉 EF 从加载的程序集中加载哪个 CSDL、SSDL 和 MSL,并且应该可以解决您的问题。

希望这可以帮助

亚历克斯

关于asp.net - 使用 edmx 文件时如何在连接字符串中指定元数据位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165392/

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