Хорошо, я пытаюсь найти все подкатегории из моей базы данных (используя формирование результата запроса), которые относятся к той категории, которую я поставляю. Мой класс SubCategory включает в себя список <> категорий.LINQ, как указать, чтобы включать элементы из списка <>
Проблема заключается в том, что в выражении linq g относится к подкатегории (которая в конце содержит категории <>). Поэтому приведенное ниже утверждение не допускается.
Как изменить оператор Linq, чтобы сгенерировать правильный SQL-запрос, чтобы включить все подкатегории, содержащие соответствующую категорию.
public class SubCategory
{
public int SubCategoryId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<Article> Articles { get; set; }
public List<Category> Categories { get; set; }
}
//incorrect code below:
var SubCategories = storeDB.SubCategories.Include("Categories").Single(g => g.Name == category);
Действительно, подкатегория может принадлежать более Категории (например: куртка с кошкой для мужчин и женщин, блузка принадлежит только женщинам кошки). В любом случае, ваше изменение приводит к следующей ошибке: {«Элемент модели, переданный в словарь, имеет тип« System.Data.Entity.Infrastructure.DbQuery'1 [System.Collections.Generic.List'1 [Project1.Models.SubCategory ]] ', но для этого словаря требуется элемент модели типа' System.Collections.Generic.IEnumerable'1 [Project1.Models.SubCategory] '. "} –
Это похоже на то, что вы еще не выполнили запрос - I Добавлю строку ... – Stuart