gpt4 book ai didi

c# - ADO.Net:在解决方案中的多个项目之间共享实体 (.edmx)

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:28 24 4
gpt4 key购买 nike

我在一个解决方案中拥有三个 C# ASP.NET MVC2 项目。为简单起见更改了名称。

解决方案是 MY_COMPANY_SITES。

它包含三个项目:CUSTOMER_SITE、INTRANET_SITE、CENTRAL_REPOSITORY。

...CUSTOMER_SITE 和 INTRANET_SITE 项目都有自己的 ADO.Net 实体模型,通过 EDMX 生成,并连接到自己的数据库。 CENTRAL_REPOSITORY 项目包含第三个 ADO.Net 实体模型,与它自己的数据库链接。

我的情况要求这三个数据库是分开的;在这里解释会花很长时间。

我需要做的是:授予 CUSTOMER_SITE 和 INTRANET_SITE 访问 CENTRAL_REPOSITORY ADO.Net 实体的权限,以及它们自己的权限。

即,以下代码应该可以工作:

CUSTOMER_Entities custDb = new CUSTOMER_Entities();
CENTRAL_Entities ctrDb = new CENTRAL_Entities();

StoreLocation firstLoc = ctrDB.StoreLocations.First();

List<Order> orders = (from n in custDb.Orders
where n.LocationID == firstLoc.LocationID
select n).ToList();

...理想情况下,如果我在 CENTRAL_REPOSITORY 中修改实体模型,它只会被其他应用程序链接到,这样我就不必在所有三个应用程序之间复制我的所有更改。

我认为必须有一种“正确”的方式来做到这一点。非常需要一些帮助来理解如何做。

谢谢!

更新:

Blindy(下图)指示我发现答案只是在解决方案资源管理器的 CUSTOMER_SITE 中右键单击“引用”,然后单击“添加引用...”,然后选择 CENTRAL_REPOSITORY 项目,然后单击确定。瞧,一切都应该正常工作。

然而,它实际上似乎并不能正常工作。具体来说,当我尝试从 CUSTOMER_SITE 或 INTRANET_SITE 访问 CENTRAL_REPOSITORY 的数据实体时出现此错误:

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

...所以尝试使用该项目中的实体时出现了一些问题,我不明白是什么。有什么想法吗?

最佳答案

要回答您的问题,您需要在其他两个站点的配置中具有适当的连接字符串,以使您的 CENTRAL_REPOSITORY 能够使用它进行连接。查看原始站点配置并将该连接复制到其他两个站点。

关于c# - ADO.Net:在解决方案中的多个项目之间共享实体 (.edmx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9590368/

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