ASP.NET MVC 5アプリケーションでの作業。 Fluent APIを使用してモデルマップを定義する列名の外観を変更して、DisplayForを行うと正しく表示されるようにしたい。たとえば、「ActionName」ではなく「Action Name」などです。FluentAPIを使用する場合のDisplayNameFor結果の制御方法
現在、私の流暢APIマッピングがある....
this.Property(t => t.ActionName).HasColumnName("ActionName");
私は列がテーブルの列ヘッダーを示していたときに「アクション名」を言うだろうように、アクションと名の間にスペースを入れたいです、 "ActionName"ではありません。だから、私はHTMLで
{"Invalid column name 'Audit Name'."}
...これはエラーになり、
this.Property(t => t.ActionName).HasColumnName("Action Name");
....これが働くだろうと思った。しかし、それは
@Html.DisplayNameFor(model => model.ActionName)
...などの設定です
私はDisplayNameForが.HasColumnName設定を使用すると思っていましたが、明らかにそうではありません。
私はただHTMLを直接入力することができますが、私はそれを「正しく」行い、これがどのように動作するかを理解しようとしています。
DisplayNameForの結果が「アクション名」になるように、これを正しく行う方法に関する提案はありますか?
ありがとうございます!
をちょうどあなたの財産に –
がのviewmodelsとしてエンティティクラスを使用しないでください。これはあなたの原因である '[表示(名=「アクション名)]'属性を追加問題は、プレゼンテーション(「ビューレベル」)のコンシューマをミックスしている持続性レベル(データベース)の心配を伴うcerns。 – Dai
@StephenMueckeありがとう!しかし、そのデータ注釈ではありませんか? Fluent APIを使用してそれを行う方法はありますか?あるいは、データアノテーションとFluent APIの両方を混在させることは許容される方法ですか? – WebDevGuy2