所以我有以下Linq查询:
var comb1 = (from m1 in _modified
join o1 in _original on m1.custom_field_option_id equals o1.custom_field_option_id
from e1 in _existing
.Where(row => (m1.custom_field_option_id == row.custom_field_option_id || m1.custom_field_option_id == 0)
&& row.custom_field_id == m1.custom_field_id).DefaultIfEmpty()
select new { m1, o1, e1 }).ToArray();
在列表_modifed
中,我有两个项目。在列表_original
中,我有一个项目。 _modified
中的第二项是新的插入记录。 _original
不包含此记录,也不包含_existing
。
新记录未包含在我的组合数组中。新记录的custom_field_option_id当前为0所以我添加到我的where子句:
|| m1.custom_field_option_id == 0
但这没有帮助。
如何更改此查询以在_modified
中包含新记录?
答案 0 :(得分:1)
除非我错过了一些东西: 在m1.custom_field_option_id等于o1.custom_field_option_id的_original中加入o1 是_original中的任何东西的硬连接。
是否该行不存在,因为该行不在_original?