Entity Framework循环引用的诡异。

number1170196649 2013-04-30 08:21:13
这里使用Entity Framework,我使用Dishes.Include("DishDetails").Include("DishMenus").Where(d=>d.DishID==635029402650345448).FirstOrDefault()来获取一条菜肴(Dish)记录。这样默认会带有DishDetails和DishMenus的导航属性。奇怪的是在DishDetails中的每一项中不包含(Dish)的引用,而在DishMenus却包含Dish的引用,并且是循环的。

求解。
...全文
6508 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcg 2013-05-28
  • 打赏
  • 举报
回复
viewModel.Instructors = db.Instructors .Include(i => i.OfficeAssignment) .Include(i => i.Courses.Select(c => c.Department)) .OrderBy(i => i.LastName);
EnForGrass 2013-05-28
  • 打赏
  • 举报
回复
查询导航属性不是include用什么
number1170196649 2013-05-04
  • 打赏
  • 举报
回复
还是搞不懂为什么这样@
number1170196649 2013-05-03
  • 打赏
  • 举报
回复
引用 3 楼 q107770540 的回复:
EF什么版本?

Dishes.Where(d=>d.DishID==635029402650345448).Include(d=>d.DishDetails).Include(d=>d.DishMenus).FirstOrDefault()
这个问题说来真的奇怪。谢谢您的关注。期待解答。
number1170196649 2013-05-02
  • 打赏
  • 举报
回复
引用 3 楼 q107770540 的回复:
EF什么版本?

Dishes.Where(d=>d.DishID==635029402650345448).Include(d=>d.DishDetails).Include(d=>d.DishMenus).FirstOrDefault()
4.1的版本。Include不支持这样的写法。而我的写法怎么一个变成了循环引用的?
q107770540 2013-05-02
  • 打赏
  • 举报
回复
EF什么版本?

Dishes.Where(d=>d.DishID==635029402650345448).Include(d=>d.DishDetails).Include(d=>d.DishMenus).FirstOrDefault()
number1170196649 2013-05-01
  • 打赏
  • 举报
回复
是我发错了模块。
number1170196649 2013-04-30
  • 打赏
  • 举报
回复
我对比两个的条件都一样,都是一个Dish对应多个DishDetail,一个Dish对应多个DishMenu。为何就会有循环引用出现。

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧