1
我對同一個數據庫表有兩個不同的視圖,我想對兩個視圖使用相同的查詢。在實體框架中對不同的DbSets使用相同的查詢
我現在有下面的醜陋的解決方案,我基本上查詢的副本。
DbSet<uvw_MyView1> view1 = entities.uvw_MyView1;
DbSet<uvw_MyView2> view2 = entities.uvw_MyView2;
if(doQueryOnView1)
{
// huge query
view1.Where(jada jada)
}
else
{
// huge query copied here with exception of different DbSet
view2.Where(jada jada)
}
我想要的是更優雅的解決方案。基本上我想有兩個DbSet的列明智完全相同,但那些返回不同的行相同的查詢部分。有任何想法嗎?
太棒了!添加這些接口定義的最簡單方法是爲這些視圖創建部分類(DbSet)..我會馬上嘗試。 – Tx3 2012-03-20 09:04:45
現在工作順利。我只需要改變方法簽名:「public static IQueryable YourHugeQueryMethod (DbContext context,...)其中T:class,IView,new()」。在課程限制之前出現界面錯誤。謝謝! –
Tx3
2012-03-20 12:41:31
謝謝,我會更新樣本。 – 2012-03-20 13:09:42