我有一个名为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表是不可能的。
答案 0 :(得分:0)
有几种不同的方法可以做到这一点。这是一种方法:
在数据库中为两个表创建一个FK并更新您的EDMX。如果您不能这样做,请创建一个没有FK的关联。
- 不要考虑什么时候更新,让EF弄明白。
- 在创建操作方法中使用EmpDescr对象作为模型。
- 通过在步骤1中创建的新Employee属性显示相关的Employee属性。这将允许MVC模型绑定器构建实体图。
- 在您的帖子方法中,不要担心保存员工,因为它已附加到您的EmpDescr,它将自动保存。