2017-03-18 85 views
0

我正在使用實體框架向數據庫讀取/寫入數據,並想知道是否有方法通過類型獲取實體。例如:我有Student表和Classroom表(實際上,我有一堆表)。我想通過使用類型或實體名稱來獲得所有學生。基本上我需要一些通用的東西來讀取數據庫中的數據。實體框架:獲取具有特定類型的所有實體

我的解決方案是使用反射來讀取DbContext屬性,返回IQueryable,但似乎應該有另一種方式來做到這一點。如果是這樣,有人可以告訴我該怎麼做嗎?

我需要的是這樣的:

dbContext.GetEntities<T>()

dbContext.GetEntities(Type entityType) 
+0

你怎麼想指定類型?也許你應該添加一些試驗性的代碼來澄清你想要的。 –

+0

我覺得它有點不清楚,但不應該關閉。它已通過@marc_s得到了相應的答案 – Mohayemin

回答

4

你在找這個?

DbSet<T> allEntities = yourDbContext.Set<T>(); 

您可以用任何實體類型替換T,例如,與Student

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

,如果你需要的IQueryable,只需使用.AsQueryable()

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

請研究official MSDN documentation on DbContext更多的細節和更多的屬性和方法在該類

相關問題