在研究ASP.NET MVC是否适合我的下一个网站时,我遇到了一个恼人的问题。
我从版本2开始就遵循了ASP.NET MVC,并且它变得更好了。例如,现在很容易在代码优先的实体框架中进行迁移,这曾经很麻烦。
这意味着我现在可以在半小时内首先运行数据库迁移和代码(因为我通常不记得所涉及的步骤,我必须遵循我写的指南)。
现在,相当早,我总是在我的数据库中获得实体之间的多对多关系(例如标签和帖子),而我发现通过MVC框架暴露这种关系是非常复杂的! Example from asp.net Example from mikesdotnetting
它涉及检索关系数据的特殊方法,而这些数据不是框架的固有部分。
是否真的没有更好/更简单的方法来处理多对多的关系?
答案 0 :(得分:2)
您应该向Many端口添加虚拟关键字
public class Post
{
[Key]
public int ID { get; set; }
public string Title { get; set; }
public virtual ICollection<Tag> Tags {get;set;}
}
public class Tag
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Post> Posts {get;set;}
}