EntityFramework 对 System.Web.Mvc.SelectList 不满意

EntityFramework Not Happy with System.Web.Mvc.SelectList

我正在为代码优先 EF 构建 POCO 类,以便在我的 ASP.NET MVC 项目中使用。我正在尝试根据 this answer 为其中一个字段制作下拉列表,但在尝试添加迁移时 EF 抛出错误。

更新: 从 POCO 中删除了 SelectListItems,但仍然存在相同的 EF 错误。

POCO 的相关片段:

using System.Web.Mvc;

public class Organization
{
    [DisplayName("Bank Name")]
    [Required(ErrorMessage = "Bank Name is required.")]
    public string AccountBank { get; set; }

    public IEnumerable<SelectListItem> Banks { get; set; }
}

EF 错误:

Could not load file or assembly 'System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

当您包含在项目中的 System.web.mvc 的程序集与您在配置文件中明确定义的版本号不匹配时,会发生此错误。确保版本匹配。

此外,您是否只是想通过视图中的下拉列表获取银行名称?如果是,则通过将 select 列表作为模型的一部分,您正在为模型添加不必要的复杂性。您最好将该列表加载到 viewbag 并设置它的 selected 值和您的模型 属性.