5

我使用实体框架 4.2 和 MVC 4

我得到了这个模型/数据库结构

UserInformation
UserID(PK)
FirstName
LastName
Email


UserFavoriteColor
FavID(PK)
颜色
为什么
UserID(FK)

是否可以在一个创建控制器操作中填充 UserInformation 表,然后填充 UserFavoriteColor。

我知道我可以通过创建 2 个单独的部分来分两步执行此操作。但这不是我想要的。


在此处输入图像描述

4

1 回答 1

7

通常,您会使用 jQuery 插入新行。由于我们不知道您的代码是什么样的,因此很难准确地向您展示应该如何完成,但您可以在此处查看示例:

http://ivanz.com/2011/06/16/editing-variable-length-reorderable-collections-in-asp-net-mvc-part-1/

诀窍是您必须正确命名它们,以便模型绑定器在您单击保存时将它们添加到您的集合中。然后你必须在你的 post 方法中编写代码来遍历颜色列表并添加任何不存在的记录。

这是一个相对复杂的事情,因此在这里的单个答案中不容易涵盖。

另一种选择是简单地对 add-new 按钮进行操作,这会在数据集合中插入一条空白记录,在回发时现在将获得 3 条记录(其中一条为空值)。当您填写值时,它将回发到主 post 方法并更新空白记录。

该解决方案的缺点是,如果用户添加新记录但不保存,则空白记录会留在数据库中。

于 2012-02-05T21:14:12.460 回答