2017-03-18 11 views
0

エンティティフレームワークを使用してDBにデータを読み書きし、エンティティをタイプで取得する方法があるかどうか疑問に思っています。たとえば、私はStudentテーブルとClassroomテーブルを持っています(実際にはテーブルの束があります)。タイプや実体の名前を使用してすべての生徒を取得したいと思います。基本的には、DBからデータを読み込むためには一般的なものが必要です。エンティティフレームワーク:特定のタイプのすべてのエンティティを取得

解決策は、IQueryableを返すDbContextのプロパティを読み取るためにリフレクションを使用することですが、別の方法があるようです。もしそうなら、誰かに私にそれをする方法を教えてもらえますか?

私はこのような何かが必要です。

dbContext.GetEntities<T>()

または

dbContext.GetEntities(Type entityType) 
+0

そのクラスに関する詳細や複数のプロパティとメソッドのofficial MSDN documentation on DbContextを検討してくださいStudentとタイプを指定するには?おそらく、あなたが望むものを明確にするためにいくつかの仮のコードを追加するべきでしょう。 –

+0

私はそれが少し不明だと思いますが、閉じてはいけません。 @marc_sによって適切な答えが得られました。 – Mohayemin

答えて

4

をあなたはこのをお探しですか?

あなたは、例えば、エンティティ・タイプのいずれかと Tを置き換えることができ
DbSet<T> allEntities = yourDbContext.Set<T>(); 

DbSet<Student> allStudents = yourDbContext.Set<Student>(); 

、あなたがIQueryableが必要な場合は、ちょうど.AsQueryable()を使用します:

IQueryable<Student> allStudents = yourDbContext.Set<Student>().AsQueryable(); 

あなたはどのようにしたいです

関連する問題