私のデータベースには、他のエンティティが生成したテーブルで操作する必要のある「viewUsers」というビューがあります。エンティティでこのデータベースビューを取得するにはどうすればよいですか?エンティティを使用したSQLビューの取得
答えて
ウィザードでは、[ビュー]を選択できます。 EFは安心して世話をします。詳細な例here
EDIT:Entity Frameworkの4.2のようにコメントを1として(codefirstでそれを行う方法)、
、Codefirstはテーブルのみのサポートが組み込まれています。つまり、テーブルを含むスキーマのみを生成することができます。しかし、既存のデータベースを使って作業している場合は、更新可能なビューとエンティティをマッピングできます。エンティティフレームワークを使用して、データの選択、挿入、更新、および削除を行うことができます。これはテーブルと同じように動作します。これらの操作のためにSQL構文がテーブルとビューで同じなので、は、ビューがテーブルであることを最初に宣言しています。
例:私たちは、ビューからのデータがCustomerDetail
と呼ばれるエンティティのvwCustomerDetails
と呼ばれ、私たちは、データの注釈代わり
[Table("vwCustomerDetails")]
public class CustomerDetail
{
// properties
}
と、次のように行うことができます取得したい場合は、流暢APIを使用すると、あなたがこれを行うことができ、ノーマルビューから
modelBuilder.Entity<CustomerDetail>().ToTable("vwCustomerDetails");
のデータのロード
時々、最初の偽のテーブル(ビュー)と同じ結果を返す、別のビューからデータをロードすることができます。例:いくつかのページでは、最も高い得点を挙げた上位10のCustomerDetailsを表示する必要があります。そのためにvwTop10Customers
と呼ばれる別のビューがあるとします。私たちは、ビューは、エンティティのとまったく同じカラム名を返す必要があり、この
var topCustomers=dbContext.CustomerDetails.SqlQuery("SELECT * FROM vwTop10Customers");
ようentotuesをロードするためにDBSet上のSQLQueryメソッドを使用することができます。さもなければEFはそれをマッピングするための問題を持ちます。
私はちょっとした研究をしましたが、.emdxはコードでは最初に動作しません。ビューを返すために手動のSQLクエリを実行しますか(ここで説明していますか?http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/advanced-entity-framework-scenarios- for-an-mvc-web-application – user1302382
@ user1302382:私の更新された答えを見てください。 – Shyju
- 1. エンティティ、ビュー、またはインラインSQL
- 2. RetrieveMultipleRequestを使用した関連エンティティの取得
- 3. Doctrine 2エンティティ用のSQLを取得する
- 4. Hibernateのエンティティを使用して、それを取得した後か
- 5. SQL:関数を使用してビュー内からCSVを取得する
- 6. Linqを使用したデータベースからSQLへのイメージの取得
- 7. JPAエンティティへのSQLビューのマッピング
- 8. エンティティ・フレームワーク:ObjectContext生成されたSQL変更スクリプトを取得しますか?
- 9. 取得HTMLエンティティ
- 10. Entity Frameworkを使用してビューを取得
- 11. facebookアプリケーションを使用してYouTubeビューを取得
- 12. リフレクションを使用したオブジェクトプロパティの取得
- 13. バッチファイルを使用したファイルプロパティの取得
- 14. Cookieを使用したAPIの取得
- 15. パラメータを使用したSQLビューの作成
- 16. Doctrineエンティティのインデックスを取得
- 17. SQLを使用して現在のユーザーのポストIDを取得
- 18. すべてのエンティティを取得してナビゲーションプロパティを取得
- 19. MVCを使用して部分的なビューまたはレイアウトにデータを取得
- 20. マップされたテーブル(Sql)を使用してマップされた列名を取得
- 21. SQLでjoinを使用して複数の値を取得
- 22. C#を使用してSQL Server 2000のインスタンスパスを取得する
- 23. SQL XMLを使用してdc:creatorの値を取得する
- 24. getProperty()を使用してエンティティからコレクションを正しく取得する方法
- 25. エンティティを使用したJ2EEアプリケーションでのDTO変換へのエンティティ
- 26. GWT/RequestFactory:エンティティの特定のリストを取得し、nは1つのSQLコールが
- 27. SQLカラムtrueまたはfalse - ビューを使用しますか?
- 28. HTMLでHTMLエンティティを使用すると、私は、この取得してい
- 29. エンティティの意図した読み取りSQLクエリ?
- 30. C#:選択したセルのオブジェクトを取得する(linq +エンティティ)
これはかなり単純です... Entity FrameworkでEDMXファイルを設定すると、ウィザードで直接テーブル/ビュー/ストアドプロシージャ...を選択できます。ここでは何もしないようにしようとしています...あなたのプロジェクトのエンティティとしてビューをインポートすることについて話しているサンプルポストです... http://smehrozalam.wordpress.com/2009/08/12/entity-framework-creating- a-model-using-views-of-tables/...これが役に立ったかどうかを教えてください... – NiK