我正在爲我的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(視圖和/或控制器)應該將業務對象轉換爲視圖可以使用的格式,即選擇列表項。 –