我正在使用导航属性中的嵌套实体来获取实体。问题是
我有一个带有导航属性Book
的{{1}},每个Borrows
都有一个导航属性Borrow
引用了本书,因此有一个循环引用。我想我应该做的是找到一种方法来包括一本书的借阅列表,并且在每笔借阅中都不要通过Book
内部的导航包含反向引用?我是Entity Framework的新手,不确定如何执行此操作,听说过导航属性的加载类型,但不确定是否适合这种情况。
类似地,每当我获取借用书的清单时,我都希望借书包括该书,但不希望借书中的借书清单导致循环引用。
Web API控制器Borrow.Book
:
/books
错误:
public List<Book> GetBooks()
{
var books = db.Books.ToList();
return books;
}
答案 0 :(得分:0)
这里一个可能的解决方案是采用中间结构
书->借书->人 人物->借阅清单->图书
借书只包含书籍详细信息和个人详细信息。图书将直接链接到借阅者,而不是直接链接到个人/借阅者。此人将拥有一个借阅集,并且不会直接链接到Book。这样,您将解决循环引用。