【问题标题】:Does Entity Framework Core support Union?Entity Framework Core 是否支持联合?
【发布时间】:2020-01-17 00:14:03
【问题描述】:

我正在尝试使用下面的联合查询 EF Core 中的多个表,但它不允许。请在.net core框架提供的错误提示上找到查询并附上图片。

 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 }));

enter image description here

【问题讨论】:

  • 您应该直接在此处提供错误消息文本,而不仅仅是图片链接。

标签: linq entity-framework-core


【解决方案1】:

你尝试使用不同匿名类型的Union,请使用相同类型或根本不使用匿名类型,就像在我的 sn-p 中一样

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

还请记住,EF 核心尚未在数据库站点上评估 Union,它将在本地评估。 More details in this issue

【讨论】:

  • 自 EF Core 3.0 Union() is now supported 以及 Concat()Intersect()Except()。从我已经尝试过的内容来看,它被翻译为内部连接。请记住,它适用于同一类型。
猜你喜欢
  • 1970-01-01
  • 2018-02-28
  • 2019-09-16
  • 2013-10-14
  • 1970-01-01
  • 2012-08-02
  • 2021-04-23
  • 2020-10-12
  • 2011-06-18
相关资源
最近更新 更多