Linq 实体框架核心是否支持联盟?

Linq 实体框架核心是否支持联盟?,linq,entity-framework-core,Linq,Entity Framework Core,我正在尝试使用union查询EF Core中的多个表,如下所示,但它不允许。请查找该查询,并在.net core Framework提供的错误提示上附上该图像 var query = _context.Brand.Select(x => new { BrandID = x.Brandid }) .Union(_context.Factory.Select(x => new { Fa = x.Factorycod

我正在尝试使用union查询EF Core中的多个表,如下所示,但它不允许。请查找该查询,并在.net core Framework提供的错误提示上附上该图像

 var query =
                _context.Brand.Select(x => new { BrandID = x.Brandid })
                    .Union(_context.Factory.Select(x => new { Fa = x.Factorycode }))
                    .Union(_context.Brandfactory.Select(x => new { BrFc = x.Factoryid }));

如果您尝试使用不同匿名类型的
联合,请使用相同的类型或根本不使用匿名类型,如我的代码片段中所示

var查询=
_context.Brand.Select(x=>x.Brandid)
.Union(_context.Factory.Select(x=>x.Factorycode))
.Union(_context.Brandfactory.Select(x=>x.Factoryid));

还请记住,EF core尚未在数据库站点上对Union进行评估,它将在本地进行评估

您应该直接在此处提供错误消息文本,而不仅仅是作为图像链接。因为EF Core 3.0
Union()
以及
Concat()
Intersect()
Except()
。从我已经尝试过的,它被转化为内部连接。请记住,它将适用于相同类型的工作。