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
слово:
Неверный тип одного из выражений в предложении соединения. Не удалось определить тип в вызовеGroupJoin'
Я знаю, что эта ошибка вызвана сравнениемp.child_ID
а такжеt.ID
посколькуp.child_ID
являетсяint?
а такжеt.ID
являетсяint
, Но,Как я могу решить это? Как я могу выполнитьLEFT OUTER JOIN
без этой ошибки ??
p.child_ID
являетсяint?
так как этот столбец помечен какIS NULL
в .SQL
Надеюсь, кто-нибудь может мне помочь, заранее спасибо.