我正在使用EF Core 2.2版。我有三个表:
我想获取与特定UserId相关联的图书清单。
我尝试过:
var books = await _context.Books
.Include(ub => ub.UserBooks.Where(f => f.UserId == id))
.ToListAsync();
但是a,它不起作用。我收到错误消息:包含属性lambda表达式'ub => {来自ub.UserBooks中的UserBook,其中[[f] .UserId == __id_0)select [f]}'无效。
如何获取与特定UserId相关联的图书列表?谢谢
答案 0 :(得分:2)
您需要从Include
中取出where过滤器-include用于急切加载,而不是过滤
查询查找与给定用户关联的所有图书:
var books = await _context.Books
.Include(b => b.UserBooks)
.Where(b => b.UserBooks.Any(ub => ub.UserId == id))
.ToListAsync();