правильный способ сделать левое соединение с linq к сущности? - PullRequest
0 голосов
/ 06 октября 2009

, поскольку DefaultIfEmpty () не поддерживается, как правильно выполнить левое соединение?

Ответы [ 2 ]

0 голосов
/ 06 октября 2009

в конце я использовал разрешенный путь с .FirstOrDefault ()

from myothertable
where....
let var = (query).FirstOrDefault()
select new {otherfield, var.field1, var.field2}
0 голосов
/ 06 октября 2009

Трудно сказать, как решить вашу проблему, поскольку вы не говорите, что это такое, но обычно:

var q = from i in Context.Invoices
        select new 
        {
            Number = i.Number,
            ItemNumbers = from il in i.Lines
                          select il.Number
        }

LINQ to Entities объединяет нули, поэтому вы получаете пустую коллекцию, если нет позиций в счете-фактуре.

Теперь это дает график, а не табличный набор результатов. Я предпочитаю, что это то, что вам нужно, поскольку при работе в LINQ to Entities вы обычно хотите работать с объектами, а не с табличными результатами SQL. Но, как вы сказали, трудно быть более конкретным, не зная, какую именно проблему вы пытаетесь решить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...