使用ASP.NET MVC 5應用程序。使用Fluent API來定義模型映射。我想更改列名的外觀,以便如果我執行DisplayFor,它會正常顯示。例如「Action Name」,而不是「ActionName」。如何在使用FluentAPI時控制DisplayNameFor結果
目前,我一口流利的API映射....
this.Property(t => t.ActionName).HasColumnName("ActionName");
我希望把行動和名稱之間的空間,因此,當列顯示了表列標題會說「操作名稱」,不是「ActionName」。所以,我認爲這會工作....
this.Property(t => t.ActionName).HasColumnName("Action Name");
但是,這將導致一個錯誤......
{"Invalid column name 'Audit Name'."}
在我的HTML它設置爲...
@Html.DisplayNameFor(model => model.ActionName)
我在想,DisplayNameFor會使用.HasColumnName設置,但顯然不是。
我可以直接鍵入HTML,但我試圖做到「正確」,並理解它是如何工作的。
有關如何正確執行此操作的任何建議,以便DisplayNameFor結果爲「Action Name」?
謝謝!
只需添加一個'[顯示(NAME =「操作名稱)]'屬性你的財產 –
不要使用實體類作爲的ViewModels這是您事業問題,你在混合表示性(「視圖級」)con持久層(數據庫)問題。 – Dai
@StephenMuecke謝謝!但是,這不是數據註釋嗎?有沒有辦法使用Fluent API來做到這一點?或者是否可以將數據註釋和Fluent API混合使用? – WebDevGuy2