Изменение запроса, equals и is null

284
08 марта 2018, 08:51

Доброго времени суток! Мне необходимо получить записи не только с родителями, но и без, для которых ParentTitle будет равен null. Каким образом изменить запрос?

IEnumerable<MyClass> myData = 
    from m in t.YourEntity
    join e1 in t.YourEntity on m.ParentId equals e1.Id
    select new MyClass
    { 
        Id = m.Id,
        ParentId = m.ParentId,
        Title = m.Title,
        ParentTitle = e1.Title,
        Created = m.Created,
        Description = m.Description
    };
    return View(myData.ToList());
Answer 1

Необходимо использовать left outer join

IEnumerable<MyClass> myData = 
    from m in t.YourEntity
    join e1 in t.YourEntity on m.ParentId equals e1.Id into ee
    from e in ee.DefaultIfEmpty()
    select new MyClass
    { 
        Id = m.Id,
        ParentId = m.ParentId,
        Title = m.Title,
        ParentTitle = e?.Title,
        Created = m.Created,
        Description = m.Description
    };
    return View(myData.ToList());

Документация - https://code.msdn.microsoft.com/LINQ-Join-Operators-dabef4e9#leftouterjoin

READ ALSO
yield MemoryLeaks

yield MemoryLeaks

Решил я попробовать использовать yield в своем проекте и столкнулся с проблемой утечки памяти

253
Как ограничить вывод значения

Как ограничить вывод значения

У меня есть переменная типа float, у которой после запятой много цифрМне хотелось бы ограничить её до одного знака после запятой

295
Ошибка при считывании файла ресурсов WinForms C#

Ошибка при считывании файла ресурсов WinForms C#

При загрузке, даже стандартного WindowsForm, ничего еще не меняя, уже вылезает ошибка, как от нее избавиться? И почему она вылезает, если ничего...

250
Как получить ID больше, чем у 50 видео?

Как получить ID больше, чем у 50 видео?

Здравствуйте! Пытаюсь получить идентификаторы более, чем у 50 роликов, используя nextPageTokenНо проблема в том, что каждый раз в переменную ids добавляются...

236