我正在为我的ASP.NET MVC项目中使用的代码优先EF构建POCO类。我试图根据this answer为其中一个字段创建下拉列表,但EF在尝试添加迁移时发生了错误。EntityFramework对System.Web.Mvc.SelectList不满意
更新:从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)
您通常不希望将SelectListItem实体存储在数据库中。相反,您应该有一个银行实体,并且只在UI中创建SelectListItems。 –
为什么要将查看逻辑添加到EF POCO中? –
'SelectListItem'是用于UI的。它不应该存储在你的数据库中,也不应该存在你的POCO中。您的数据库(=数据模型=业务模型)应该存储业务对象。 UI(视图和/或控制器)应该将业务对象转换为视图可以使用的格式,即选择列表项。 –