首先在EF代码中进行跨数据库联合查询的最佳方法

时间:2014-05-31 10:21:30

标签: c# sql-server asp.net-mvc entity-framework code-first

我正在使用EF代码编写ASP.NET MVC项目作为数据库建模。 它是一个多用户应用程序,其中每个人都拥有它自己的数据库,我现在需要的是能够列出使用该平台的所有用户的所有帖子,因此我搜索跨数据库查询。 看起来EF并不支持这种类型的查询,因为dbcontext链接到一个固定的连接字符串,然后我问你可以开发哪种方法来实现我的目标?

我正在考虑使用两个dbcontext,一个用于用户数据库,另一个数据库包含所有用户的数据,尝试在个人数据库和全局数据库中复制CRUD操作,但这似乎很奇怪。

有什么建议吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果它只是“我现在需要的是能够列出使用该平台的所有用户的所有帖子”

- >您可以创建sql server视图使用链接服务器查询来获取来自不同数据库的数据

答案 1 :(得分:0)

创建存储过程以从链接服务器返回数据,然后使用ExecuteStoreQuery调用此存储过程。创建一个实体来保存结果集,并使EF保持结果。