Как написать «Where Any In» в LINQ to Entity?LINQ to Entities, где Any In
Вот моя модель:
class Chair
{
public int Id { get; set; }
public int TableId { get; set; }
public Table Table { get; set; }
}
class Table
{
public int Id { get; set; }
public ICollection<Chair> Chairs { get; set; }
public ICollection<Category> Categories { get; set; }
public Table()
{
Chairs = new List<Chair>();
Categories = new List<Category>();
}
}
class Category
{
public int Id { get; set; }
public ICollection<Table> Tables { get; set; }
}
Я также получил простой список Категория:
List<Category> myCategories = new List<Category>(c,d,e);
Я хочу, чтобы получить только то, что стулья, что принадлежит к таблице, которая получила одну из категории из myCategories List. То, что им пытается сделать:
var result =
ctx.Chairs.Where(x => x.Table.Categories.Any(y => myCategories.Any(z => z.Id == y.Id))).ToList();
Я думаю, что его хорошо, но то, что я получаю сообщение об ошибке:
«Невозможно создать постоянное значение типа„“ConsoleApplication1.Category Только примитивные тип или тип перечисления. поддерживаются в этом контексте»
сделать myCategories список, если Guid вместо списка категории ... что должно сделать трюк – Gustavo