ASP.Net Entity Frameworkのモデル
-
23-08-2019 - |
質問
は、データベースに存在してはいけない私のモデルにプロパティを追加することはできますか?
たとえば、私は、カレンダーのテーブルを持って、私はその後、各エントリの開始までの残り時間を仕事やビューにこれを返す私のMVCコントローラで、このデータをretireveたいです。だから私は、私はデータベースの外で生成されます値です残された時間を保持するために、私のカレンダーのモデルに別のプロパティをしたいと思います。
私は、プロパティを追加しようとしましたが、私は、私はエラーを取得することを行うときに、プロパティが何にマップされていないため。
これはさえ可能ですか?
おかげ
解決
あなたはモデルにプロパティを追加することができるはずですが、あなたは、LINQでそれを照会することができません。 LINQは、最終的に構築し、それがSQLを使用して、データベースに対して実行することになるでしょう表現されます。そのあなたのLINQは、どこかのフィールドにあなたの財産からのマッピングを見つけることに失敗しますその時点でます。
あなたのクエリは、あなたのビューがそれにアクセスすることができるかもしれプロパティを作成した上で実際の型のIEnumerableを返す場合。 EFは、その場合にはマッピングを主張する場合、私はそれを行うこと、覚えていないことができます。
あなたは、あなたのビューに他のいくつかの複合型を提供したい場合は、LINQツーオブジェクト使用し、後続のLINQクエリを作成することができることを見つけるかもしれません。
他のヒント
これは、非永続プロパティまたは一時です。私はよくエンティティFramworkを知らないが、簡単にGoogle検索であなたは答えを見つける必要があります。
ところで、あなたはここにヒントをたくさん見つけることができます。 http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspxする
VS2008でクイック検索自分自身やテストを行った後、私はマッピングからプロパティを除外するための方法が表示されません。多分それは手動でマッピングファイルを編集する必要がありますか? :(