我正在使用的數據庫(我無法控制此操作)在似乎正在搞亂我的代碼的列中有空值。我想在我的項目的模型部分處理這個問題,因爲它似乎是合適的地方。創建客戶吸氣器聽起來對我來說是個好主意。替換模型(EF)中的數據庫中的空值
類
public string _DesignLink { get; set; }
public virtual string DesignLink {
get { return _DesignLink ?? ""; }
}
映射
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
...
modelBuilder.Entity<ToolPlan>().Property(t => t._DesignLink).HasColumnName("DesignLink");
...
}
邏輯工作在我的腦海裏。創建一個虛擬屬性以使getter工作,然後將該屬性重新映射到實際列。給我的錯誤是:
One or more validation errors were detected during model generation:
System.Data.Entity.Edm.EdmProperty: Name: The specified name is not allowed: '_DesignLink'.
第一次訪問數據庫時發生此錯誤。我怎樣才能讓這個列中的所有空值顯示在我的項目中的空白處?
除了節能這一實體將不再導致一個數據庫中的'null'值,可能需要進行適當的功能,在其他地方。我更喜歡包裝的附件,因爲它保留了原有的功能。 – Moho
如果OP需要維護數據庫空值,他可以簡單地將該屬性添加到視圖模型而不是模型本身。 –
我想我像往常一樣反覆解決了這個問題。關於上面的討論,我只是從這張表中讀出來的,所以上面提到的觀點對我來說是沒有意義的。好點 – Jeff