Я пытаюсь выполнить левое соединение в linq с таблицей, которая имеет отношение один ко многим. Мне нужно установить свойство коллекции, но я не могу заставить его работать
Пример моего кода (я изменил имена объектов):
context =>
from entity1 in context.EntityOnes
join comment in context.Comments on entity1.Id equals comment.CommentSourceId into tmpComments
from comment in tmpComments.DefaultIfEmpty()
select new EntityOneData
{
EntityOne = entity1,
EntityOneComments = tmpComments
};
Когда я получаю данные для запроса, я получаю исключение nullreference. база данных пуста, но DefaultIfEmpty должен принести хотя бы пустую коллекцию, а не возвращать ноль
EntityOneComments is an IEnumerable<Comment>
Я также пытался сделать последнюю строку, как
EntityOneComments = tmpComments.ToList()
но безрезультатно, я получил странную ошибку, подобную этой:
LINQ to Entities does not recognize the method 'System.Collections.Generic.List1[RecipeCategoryItem] ToList[RecipeCategoryItem](System.Collections.Generic.IEnumerable1[RecipeCategoryItem])' method, and this method cannot be translated into a store expression.