【问题标题】:Best way to do cross database union query in EF code first首先在 EF 代码中进行跨数据库联合查询的最佳方法
【发布时间】:2014-05-31 10:21:29
【问题描述】:

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

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

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

【问题讨论】:

  • 请详细介绍您的基础架构。是一台服务器,它有多个数据库,它们都有不同的模式?
  • @MareInfinitus 我的意思是多个数据库,可能在不同的服务器中,因为数据或流量开始过高或负载平衡请求(但在这种情况下,我必须找到一种方法在多个数据库上复制数据)。

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


【解决方案1】:

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

->你可以创建sql server view,使用链接服务器查询从不同的数据库中获取数据

【讨论】:

  • 但是在视图中我只能获取但不能更新记录,还是不能?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-02-01
    • 2014-09-29
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 2017-07-09
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多