语境:
- 代码首先,实体框架4.3.1;
- 用户----主题,1对多的关系;
-
User
与public virtual ICollection<Topic> CreatedTopics
导航属性(延迟加载); -
Topic
与public virtual User Creator
导航属性; -
DataServiceController : DbDataController<DefaultDbContext>
网络API的β,ASP.NET MVC 4贝塔,单页的应用; - System.Json的JSON序列化;
网页API操作:
public IQueryable<Topic> GetTopics() { // return DbContext.Topics; // OK return DbContext.Topics.Include("Creator"); //With Exception }
结果:“发生在w3wp.exe的未处理的Microsoft .NET框架例外”
这里的问题似乎是:我不应该在两个实体 (?原因循环引用), 添加导航属性 ,如果我删除CreatedTopics
在导航属性User
级,这将再次确定。
因此, 在相似背景像上面列出的 ,这里是我的问题:
- 如何处理在1到许多关系的情况导航属性;
- 更进一步,怎么样一个多对多的关系,我一定把它分为两个1对多的关系;
- 什么是最佳做法和使用导航属性的注意事项?
我看了很多相关的帖子,但还是不够清楚:(,
谢谢你的帮助!
院长