我有两个实体:
- 书;
- 流派;
它们具有多对多关系:
public class Book
{
public int Id { get; set; }
public string Name { get; set; }
public List<Genre> Genres { get; set; }
}
public class Genre
{
public int Id { get; set; }
public string Name { get; set; }
public List<Book> Books { get; set; }
}
任务是实现按流派搜索。
使用类型ID的列表/数组,查找包含数组中所有类型的所有图书。结果可能包括包含其他类型的图书,但它们必须具有所请求的类型。
使用类似这样的方法:
var genres = _db.Genres.Where(g => genresIdList.Contains(g.Id)).ToList();
var books = _db.Books.Where(b => genres.All(b.Genres.Contains));
导致异常。
2条答案
按热度按时间zdwk9cvp1#
使用以下查询:
rekjcdws2#
我的问题的解决方案是:
在删除Genre的ToList()并稍微更改LINQ查询后,异常消失了。
感谢每一个试图帮助我们的人:)