将 EF 与 MVC4 一起使用允许您指定在模型中包含外键列。虽然这通常不是OR建模的一部分,但当您生成带有MVC controller with read/write actions and views, using Entity Framework
选项的控制器时,它确实允许 MVC4 为外键关系自动生成带有下拉列表的视图。
在这种情况下,我遇到了创建对象的问题。
大大简化,有问题的模型是:
问卷:
- 问卷编号:PK
- 候选人编号:FK
- 候选:关联对象
候选人:
- 候选人ID:PK
- 名称:字符串
我遇到的问题是,在创建视图回发以创建新问卷时ModelState.IsValid
是错误的。经调查,列出的错误是The parameter conversion from type 'System.String' to type 'Data.Candidate' failed because no type converter can convert between these types.
ModelState.Keys 包括Questionnaire.Candidate
以及Questionnaire.CandidateId
(这是有效的)。
我相信这很简单,但想听听一些解决方案。视图包只有一个下拉列表集,视图有一个 @model 类型@model Data.Questionnaire
。没有绑定到 的编辑器字段Questionnaire.Candidate.
。