我使用具有存储库和工作单元模式的实体框架来处理MVC项目, 我正在尝试编辑编辑操作中的可变长度集合(主要详细信息),例如此帖http://ivanz.com/2011/06/16/editing-variable-length-reorderable-collections-in-asp-net-mvc-part-1
中的示例我的问题是每次提交表单编辑操作子集合DB表复制子集合行并将旧的外键设置为null,并成功修改主实体。 我检查主实体的实体状态是否为deatached(子集合也是deatached)。
我已经解决了循环抛出子集合并将其状态更改为已修改或添加或删除的问题,但是我需要知道什么是最好的解决方案,这个问题可以自动检测更改或不将实体状态更改为deatached。 / p>
由于
答案 0 :(得分:0)
EF上下文不知道您的客户端做了哪些更改,EF没有机制来查找这些更改。处理此方案只有两种方法:
TryUpdateModel
让MVC按照here所述为您合并新状态和旧状态。