【发布时间】:2018-11-29 14:57:41
【问题描述】:
这是使用 MVC .net 框架和实体框架“数据库优先”的方法完成的。两个表之间存在多对多关系。它们通过第三个表连接,该表具有组合键作为第一个表的 id 和第二个表的 id。
public class ManyToManyTable
{
[Required]
[Key, Column(Order=0)]
public int firsttableid { get; set; }
[Required]
[Key, Column(Order=1)]
public int secondtableid { get; set; }
public int something { get; set; }
[ForeignKey("firsttableid")]
public virtual FirstTable firstTable { get; set; }
[ForeignKey("secondtableid")]
public virtual SecondTable secondTable { get; set; }
}
First 和 Second 表有一些作为主键的 id。
我想为这个 ManyToManyTable 创建启用主从输入表单的视图和控制器方法。这将在 Master 和 SecondTable 中有 FirstTable 的详细信息,并且当按下 Save 按钮时所有内容都将保存在 ManyToManyTable 中。
当然,First Table 和 Second Table 都有这个属性:
public virtual ICollection<ManyToManyTable> ManyToManyTables { get; set; }
实现此类案例的最简单方法是什么? 谢谢!
【问题讨论】:
-
一旦您开始添加与严格的多对多无关的列,即“public int something {get;set;}”。您正在创建一个新实体,它应该被映射为一对多 - 多对一的关系。
标签: asp.net-mvc entity-framework many-to-many master-detail