与ASP.NET MVC的多对多关系过于复杂

时间:2013-08-21 07:40:53

标签: asp.net-mvc

在研究ASP.NET MVC是否适合我的下一个网站时,我遇到了一个恼人的问题。

我从版本2开始就遵循了ASP.NET MVC,并且它变得更好了。例如,现在很容易在代码优先的实体框架中进行迁移,这曾经很麻烦。
这意味着我现在可以在半小时内首先运行数据库迁移和代码(因为我通常不记得所涉及的步骤,我必须遵循我写的指南)。

现在,相当早,我总是在我的数据库中获得实体之间的多对多关系(例如标签和帖子),而我发现通过MVC框架暴露这种关系是非常复杂的! Example from asp.net Example from mikesdotnetting

它涉及检索关系数据的特殊方法,而这些数据不是框架的固有部分。

是否真的没有更好/更简单的方法来处理多对多的关系?

1 个答案:

答案 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;}
}