我是实体框架的新手,所以我创建了一个小测试项目。 我的项目中有以下模型:
class Books
{
public int Id { get; set; }
public string Title { get; set; }
public Author Author { get; set; }
}
class Author
{
public int Id { get; set; }
public string Name { get; set; }
}
现在,我想和一位相关作者一起收到所有书籍,但是失败了...
using (WFCDbContext db = new WFCDbContext())
{
List<Books> = db.Books.Where(x => x.Author == myAuthorVariable).toList()
}
ErrorMessage:
此方法仅支持基本类型或枚举类型 上下文。
答案 0 :(得分:4)
实体框架不知道如何处理您的myAuthorVariable
引用,即如何将其转换为 SQL ? SQL 没有引用的概念。
基本上,在这种情况下,您想要给它一个原始类型,它可以像Id
using (WFCDbContext db = new WFCDbContext())
{
List<Books> = db.Books.Where(x => x.Author.Id == myAuthorVariable.Id).toList()
}