我正在开发一个需要使用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.IDsince p.child_IDisint?和t.IDis之间的比较引起的int。但是,我该如何解决这个问题?我怎样才能在LEFT OUTER JOIN没有这个错误的情况下执行?
p.child_ID是int?因为此列标记IS NULL为SQL。
希望有人可以帮助我,在此先感谢。