【发布时间】:2018-10-10 18:00:12
【问题描述】:
我在数据库中有一个包含用户 ID 的 2 列的表。
Column A
1
2
3
4
5
Column B
4
2
6
1
7
现在我想获得一个包含不同 ID 的列表/数组。
预期的结果是
[1,2,3,4,5,6,7]
知道怎么做吗?
我正在寻找一个 Ef Core lambda/linq,它将在数据库端运行,而不必在内存中获取结果然后找到不同的列表,因为这将是昂贵的操作。
【问题讨论】:
-
类似这样的 var blogs = context.Blogs .FromSql("SELECT distinct id FROM (select colA as id from tabA unionall select colB as id from tabB)") .ToList();
-
子查询会降低性能但很好的方法。你能翻译成linq/lamda表达式吗
-
试试这个 IList
ids = ((from taba in ids select ids) .Union(from tabB in ids select (ids))).ToList(); -
哇,我喜欢这种方法,我将使用它
-
如果可行的话。让我知道我会将其添加为答案
标签: sql linq lambda linq-to-sql entity-framework-core