使用SqlServer在一个EntityFramework核心查询中使用多个大型数据库?

问题描述 投票:0回答:1

我想用1或2 dbcontext一次查询来自不同数据库的多个表。我一直在寻找一些信息,要使其完美工作似乎并不容易。

我需要同时对3个或4个不同数据库中的5个或6个表进行几个查询。

  • [我曾尝试将dbcontext的实现用于另一种,但是主键存在问题,如果仅使用一个数据库,我将没有主键。
  • 我分别尝试了2个dbcontext,但出现错误:

不能在单个查询执行消息中使用多个DbContext实例。

我已经读到可以关联这两个数据库,但由于企业的结构,我无法做到这一点,而且它不允许我这样做。

这是在Entity Framework Core 2.2或3中,我已经尝试过两者。我已经创建了数据库,因此我将它们设置为脚手架。

我有一个例子,只有两个数据库:

var data =
   from j in jsa.TbEmp
   join i in info.TbcEmpGral on j.fiEmp equals i.fiEmp
   where i.fiEmp == 361591
   select i.FcName.ToString() + " - " + i.fiDate.ToString();
c# sql-server entity-framework orm asp.net-core-2.2
1个回答
0
投票

我想在一个查询中从[在一台服务器上]从不同数据库查询多个表

最简单的方法是为单个数据库中的所有表创建视图或同义词。 EF无法自动建立模型,但是,如果您手动创建模型,EF只会将SQL发送到包含所有表的单个数据库仿佛,SQL Server会将查询重定向到通过同义词或视图显示适当的对象。

© www.soinside.com 2019 - 2024. All rights reserved.