var q =from c in db.A
join ec in db.B on new {A.Decode,A.comCode} equals {B.Decode,B.comCode} into cate
from catalog in cate.DefaultIfEmpty()
select new
{
.....
};
这是2张表 通过2个字段连接。 语法 应该没问题。
只是我 遇到这样一种情况 A的Decode 可能为空 ,B的Decode 一定不为空
这样 写了就会报 推理错误。
刚学LINQ 2个月,希望 大家不要见笑。
不知道这该怎么处理了.
我不要这样写法 from c in db.A
from B in db.C
where (A.XX==B.XX && A.XX==B.XX ) 连接不是很明确,内联,外联 不怎么好处理。如果有很过张表连接 ,这样写 就更麻烦了。
join ec in db.B on new {A.Decode,A.comCode} equals {B.Decode,B.comCode} into cate
from catalog in cate.DefaultIfEmpty()
select new
{
.....
};
这是2张表 通过2个字段连接。 语法 应该没问题。
只是我 遇到这样一种情况 A的Decode 可能为空 ,B的Decode 一定不为空
这样 写了就会报 推理错误。
刚学LINQ 2个月,希望 大家不要见笑。
不知道这该怎么处理了.
我不要这样写法 from c in db.A
from B in db.C
where (A.XX==B.XX && A.XX==B.XX ) 连接不是很明确,内联,外联 不怎么好处理。如果有很过张表连接 ,这样写 就更麻烦了。
where 条件select{c.你要的字段};return q;
select new { c.Userid ,d.Userid }这样试试