使用 EF6 将 var 变量中的两列合并为一列
本文关键字:合并 两列 一列 EF6 变量 使用 var | 更新日期: 2023-09-27 18:32:28
>我有一个变量,正如你在这里看到的,我生成它:
var q = qcForSearchItemCode.Select(i =>new{ itemcode1=i.Material1Itemcode,itemcode2=i.Material2Itemcode}).ToList();
所以如你所见,我的q变量有两列Material1Itemcode
,Material2Itemcode
。
我需要使用 EF6 将这两列合并为一列。
灾难性的解决方案是使用列表和 foreach 循环,但我认为也许有更好的解决方案?
任何建议将不胜感激。
诀窍
是为每个实体创建一个小List
,然后将列表展平为一个SelectMany
:
var q = qcForSearchItemCode
.SelectMany(i =>new List<string>
{
i.Material1Itemcode,
i.Material2Itemcode
}
).ToList();
它创建一个包含CROSS JOIN
和UNION
的查询,因此它可能不是性能最佳的解决方案,但当不涉及"太多"记录时可能足够好。
你可以
这样做。
var q = qcForSearchItemCode.Select(i =>new{ item=(i.Material1Itemcode+i.Material2Itemcode).Split(',').Distinct()}).ToList();