我使用实体框架 4.2 和 MVC 4
我得到了这个模型/数据库结构
UserInformation
UserID(PK)
FirstName
LastName
Email
UserFavoriteColor
FavID(PK)
颜色
为什么
UserID(FK)
是否可以在一个创建控制器操作中填充 UserInformation 表,然后填充 UserFavoriteColor。
我知道我可以通过创建 2 个单独的部分来分两步执行此操作。但这不是我想要的。
我使用实体框架 4.2 和 MVC 4
我得到了这个模型/数据库结构
UserInformation
UserID(PK)
FirstName
LastName
Email
UserFavoriteColor
FavID(PK)
颜色
为什么
UserID(FK)
是否可以在一个创建控制器操作中填充 UserInformation 表,然后填充 UserFavoriteColor。
我知道我可以通过创建 2 个单独的部分来分两步执行此操作。但这不是我想要的。
通常,您会使用 jQuery 插入新行。由于我们不知道您的代码是什么样的,因此很难准确地向您展示应该如何完成,但您可以在此处查看示例:
http://ivanz.com/2011/06/16/editing-variable-length-reorderable-collections-in-asp-net-mvc-part-1/
诀窍是您必须正确命名它们,以便模型绑定器在您单击保存时将它们添加到您的集合中。然后你必须在你的 post 方法中编写代码来遍历颜色列表并添加任何不存在的记录。
这是一个相对复杂的事情,因此在这里的单个答案中不容易涵盖。
另一种选择是简单地对 add-new 按钮进行操作,这会在数据集合中插入一条空白记录,在回发时现在将获得 3 条记录(其中一条为空值)。当您填写值时,它将回发到主 post 方法并更新空白记录。
该解决方案的缺点是,如果用户添加新记录但不保存,则空白记录会留在数据库中。