如何在主实体的创建/更新上创建新的/更新现有相关实体

时间:2014-09-08 15:17:08

标签: asp.net-mvc entity-framework

我有一个名为Employee的对象和一个名为EmpDescr的对象。

EmpDescr表有descrid和richtext。 员工有名字,empid和descrid。

当创建员工的记录时,表单将显示empname字段和descr textarea。在创建时,richtext将首先作为新记录插入empdescr表中,id将被分配给employee表中的descrid字段,然后将创建员工记录。 在更新时,将更新empdescr表,然后更新employee表(如果需要)。

我如何实现上述目标?我正在关注mvc 4和5以及ef 5和6的asp.net教程。现在,我将使用的确切版本并不重要。 教程略有不同。即,要添加的现有课程列表。在我的情况下,依赖对象将不存在,它将是一个字符串,而不是一个列表。我是MVC和EF的新手,我在解决可能的解决方案时遇到了问题。

我首先使用数据库,而不是使用任何视图模型。

修改 在这里添加问题。 EmpDescr更像是一个通用表,不仅与Employee相关。所以我将其称为RichText表。 任何实体都可以有一个映射到该表的richtextid。由于上述原因,将FK添加到RichText表是不可能的。

1 个答案:

答案 0 :(得分:0)

有几种不同的方法可以做到这一点。这是一种方法:

在数据库中为两个表创建一个FK并更新您的EDMX。如果您不能这样做,请创建一个没有FK的关联。

- 不要考虑什么时候更新,让EF弄明白。

- 在创建操作方法中使用EmpDescr对象作为模型。

- 通过在步骤1中创建的新Employee属性显示相关的Employee属性。这将允许MVC模型绑定器构建实体图。

- 在您的帖子方法中,不要担心保存员工,因为它已附加到您的EmpDescr,它将自动保存。