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

Надеюсь, кто-нибудь может мне помочь, заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос