我在编辑以下LINQ查询时遇到错误
var tNumber = 10001;
var data = from r in R_TABL
join pt in PT_TABL
on r.R_id equals pt.id into trans
join tu in TU_TABL
on tNumber equals tu.tUNUMBER
from tr in trans.DefaultIfEmpty()
where r.r_number == tNumber &&
r.sequence == "101001"
select new MyDto
{
IsExisting = tu.tUNUMBER != null ? true : false
};
我添加了以下行:
join tu in TU_TABL on tNumber equals tu.tUNUMBER
和
IsAppAssist = tu.tUNUMBER != null ? true : false
我需要加入TU_TABL来检查表中是否存在数字。在c#方法中,我传入参数tNumber并检查 “在tNumber等于tu.tUNUMBER时加入TU_TABL”以查看是否匹配。如果tu.tuNumber!= null,我创建一个新的DTo并将布尔值IsExisting设置为。
如果数字存在,IsExisting为true,否则为false。
当我检查结果时,返回的所有记录都是假的。更正linq连接以检查连接表中是否存在数字的正确方法是什么?
答案 0 :(得分:1)
equals
子句的左侧不会检查列;您应将其与r
t_number
:
join tu in TU_TABL
on r.r_number equals tu.tUNUMBER