- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.NET MVC エンティティモデルの定義)
ASP.NET MVC エンティティモデルの定義
このQ&Aのポイント
- ASP.NET MVC エンティティモデルの定義について質問です。実際のテーブル構造と異なるモデルを定義することは可能でしょうか?
- カラム名が違う場合、Column属性を指定すれば指定カラムからデータを取得してくれます。しかし、実際に存在しないカラムを定義した場合、データ取得時にエラーが発生します。そのようなカラムを取得対象外にすることは可能でしょうか?
- BmiをPrivate変数としてgetter/setter用Functionを定義すれば回避は可能ですが、よりスマートな方法があれば知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
NotMappedAttribute かな。 あと、BMIは計算して表示するクラスでしょうから、setプロパティなしでgetプロパティだけを定義して、そのなかで身長、体重から計算して値を表示しておけばこの場合はDBからのデータ取得は行われないと思います。 http://blogonos.wordpress.com/2011/06/12/mvcconf-japan-%e3%81%b5%e3%82%8a%e3%81%8b%e3%81%88%e3%82%8a-1%ef%bc%9a-mvc3-codefirst-%e3%83%87%e3%83%a2/ ここで提示しているサンプルの中で年齢の項目はそんな感じで扱ってます。
お礼
<NotMapped()> Public Property Bmi As Long こちらの記載で問題ないことを確認しました。 なお http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_03/aspnetmvc3_03_01.html 「プロパティは、同名のテーブル列にマッピングされる」 とのことで、例示いただいた「Readonlyのプロパティとする」方法の他、 Public Bmi As Long とPublicな変数として定義してしまうことでも回避はできそうです (これはこれで扱いが面倒ですが)。 ありがとうございました。