Int? и сравнение int когда LEFT OUTER JOIN в выпуске Linq
Я работаю над проектом WinForms, который требует использованияLinq-To-Sql
, Я смог создать свой DataContext, используяSqlMetal
инструмент, и сделать несколько запросов. Но сейчас у меня есть проблема, которую я не смог решить.
Я пытаюсь сделать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
слово:
The type of one of the expressions in the join clause is incorrect. Type inference failed in the call to 'GroupJoin'
Я знаю, что эта ошибка вызвана сравнениемp.child_ID
а такжеt.ID
посколькуp.child_ID
являетсяint?
а такжеt.ID
являетсяint
, Но,How can I solve this? How can I perform the LEFT OUTER JOIN
without having this error??
p.child_ID
являетсяint?
так как этот столбец помечен какIS NULL
вSQL
.
Надеюсь, кто-нибудь может мне помочь, заранее спасибо.