LinqJoin语句出现问题
本文关键字:问题 语句 LinqJoin | 更新日期: 2023-09-27 18:22:01
所以我有以下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
中包含新记录?
除非我错过了一些东西:在m1_original中加入o1。custom_field_option_等于o1.custom_field_option_是与原始内容的硬连接。
可能是因为该行不是原始的,所以该行不存在吗?