モデルでデータ注釈を使用してデータ型を DATE に設定しているときに、MVC スキャフォルダーがデータベースのデータ型を DATETIME に設定するという厄介な問題に遭遇しました。理由は何か?
[DataType(DataType.Date)]
public DateTime? my_date { get; set; }
私はVS2012、MVC 4.5を使用しています。
ありがとう!
モデルでデータ注釈を使用してデータ型を DATE に設定しているときに、MVC スキャフォルダーがデータベースのデータ型を DATETIME に設定するという厄介な問題に遭遇しました。理由は何か?
[DataType(DataType.Date)]
public DateTime? my_date { get; set; }
私はVS2012、MVC 4.5を使用しています。
ありがとう!
DataTypeAttribute
は、フィールドの UI 表現に関してのみ意味があると思います (たとえば、ヘルパー メソッドDisplayFor
とを使用するEditorFor
場合)。
MSDNからの引用(ハイライトは私のものです):
DataTypeAttribute 属性を使用すると、データベースの組み込み型よりも具体的な型を使用してフィールドをマークできます。たとえば、電子メール アドレスを含む文字列データ フィールドは、EmailAddress タイプに関連付けることができます。この情報はフィールド テンプレートからアクセスでき、データ フィールドの処理方法を変更できます。
使用されている実際のデータベース タイプへの参照はないようです。
編集:流暢なマッピング?
どうやら EF には、特定のプロパティの DataType を設定するオプションもあります: msdn.microsoft.com/en-us/data/jj591617.aspx#1.10。正直なところ、私はそれを使用したことがないので、調査結果でこの回答を調査および編集したい場合は、それは素晴らしいことです! :)