我正在开发一个需要使用Linq-To-Sql
. 我已经能够使用该SqlMetal
工具创建我的 DataContext 并进行一些查询。但是现在我有一个我无法解决的问题。
我正在尝试制作LEFT OUTER JOIN
如下:
MyDatabase db = new MyDatabase(...);
var query = from p in db.ParentTable
join t in db.ChildTable on new {A = p.child_ID, B = p.OtherID}
equals new {A = t.ID, B = t.OtherID} into j1
from c in j1.DefaultIfEmpty()
select new
{
...
};
join
当我编写此查询时,在编译时会在单词中引发错误:
join 子句中的表达式之一的类型不正确。调用“GroupJoin”时类型推断失败
p.child_ID
我知道这个错误是由and t.ID
since p.child_ID
isint?
和t.ID
is之间的比较引起的int
。但是,我该如何解决这个问题?我怎样才能在LEFT OUTER JOIN
没有这个错误的情况下执行?
p.child_ID
是int?
因为此列标记IS NULL
为SQL
。
希望有人可以帮助我,在此先感谢。