數據庫中有一個字段確實應該是布爾值,但由於某種原因,原始開發人員將其設置爲CHAR,該字符將設置爲「1」或「0 」。實體框架ASP.NET MVC私有模型字段
[Column("CHARGEABLE")]
[StringLength(1)]
private string Chargeable { get; set; }
我希望我的模型來表示這個字段作爲一個布爾值,所以我想我可以將屬性添加到我的模型把它包起來:
[NotMapped]
public bool ChargeableTrue
{
get
{
return Chargeable == "1" ? true : false;
}
set
{
Chargeable = value ? "1" : "0";
}
}
現在在我查看我只是顯示EditorFor( ChargeableTrue),但是當我點擊保存時,它實際上並沒有更新它。
我認爲正在發生的事情是,當模型正在更新時,它仍然試圖從視圖中獲取'Chargeable'的值,儘管我沒有在那裏顯示它。由於沒有輸入字段,它只會變爲空,並最終將其保存到數據庫。
if (ModelState.IsValid)
{
db.Entry(call).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
在這種情況下預計會做什麼?
這就是當你的域名不符合你想要的視圖時所要做的。 +1 – kamranicus 2012-01-08 21:47:54
這就是我最終做的,現在我有更多的問題比我開始。 – NoPyGod 2012-01-09 04:02:34
如何「製作我的貼圖」?你的意思是用視圖模型中的字段手動更新模型對象的每個字段? – NoPyGod 2012-01-09 04:13:46