我有一个具有此签名的操作:
public ActionResult Update(ContactForm contactForm)
ContactForm 是 edmx 文件中的一个类。先不打码。它的 EF 5.0.0。edmx 文件是自动生成的。
我有从 ContactForm 到 ContactFormField 的关系,这会导致导航属性。我将其命名为“字段”。它是类型
EntityCollection<ContactFormField>
当我在帖子中包含由帖子变量引起的字段(并且只有这样)时,如下所示:
ContactForm.Fields[0].Name=foo&ContactForm.Fields[1].Name=bar
ETC...
在调用该操作之前,我得到了 InvalidOperationException。
它发生在字段的设置器中。
消息是:
EntityCollection 已经初始化。InitializeRelatedCollection 方法只能在对象图的反序列化过程中被调用来初始化一个新的 EntityCollection。
如果我尝试采取单独采取字段的操作,请添加一个参数,例如
public ActionResult Update(ContactForm contactForm,
IEnumerable<ContactFormField> fields)
...这些将被正确检索,但对于每个字段,我还有另一个 ContactFieldAlternative 列表。换句话说,我需要能够发布子对象。
如何摆脱异常?