是否有可能爲實體框架對象上下文添加一種全局過濾器?比如擁有一個ObjectMaterialized,它可以返回一個指示是否在結果集中包含給定的對象。實體框架查詢過濾器
1
A
回答
2
不,這是不可能的。實體框架及其內置的提供者不支持全局過濾器。
可以實現與簡單的包裝一些基本的過濾:
public class MyContext : ObjectContext
{
private ObjectSet<MyEntity> myEntities;
public Expression<Func<MyEntity, bool>> GlobalMyEntityFilter { get; set; }
public IQueryable<MyEntity> MyEntities
{
get
{
if (GlobalMyEntityFilter != null)
{
return myEntities.Where(GlobalMyEntityFilter);
}
return myEntities;
}
}
}
+0
因此,EF和RIA服務的組合與WCF數據服務中的QueryInterceptors沒有任何相似之處? – BowlingForGreens
+0
我不確定RIA服務,但EF本身沒有任何此類功能。 QueryInterceptors特定於WCF數據服務。 –
1
你試圖做這樣的事情只顯示活動的客戶?如果是這樣,您可以使用繼承並創建一個ActiveCustomer類型並在映射中添加一個條件爲Status == "Active".
然後將您的Customer類型設置爲Abstract Base Class以防止直接實例化。然後你可以查詢你的模型Customers.OfType<ActiveCustomer>().
相關問題
- 1. 過濾兒童實體框架查詢
- 2. 與實體框架的過濾器查詢
- 3. 過濾器「包含」在實體表框架查詢
- 4. 實體框架高效查詢過濾器
- 5. 實體框架和繼承過濾器
- 6. 實體框架多對多過濾器
- 7. 實體框架過濾器子集合
- 8. 實體框架核心過濾器DbSet
- 9. 實體框架 - 過濾查詢可空連接密鑰
- 10. 查詢在實體框架
- 11. 實體框架查詢
- 12. 實體框架查詢
- 13. 查詢在實體框架
- 14. 實體框架LINQ查詢
- 15. 查詢實體框架4
- 16. 在實體框架查詢
- 17. 查詢在實體框架
- 18. 實體框架查詢#1
- 19. 實體框架查詢
- 20. 查詢在實體框架
- 21. 實體框架LIKE查詢
- 22. 實體框架查詢XML
- 23. 實體框架查詢設計器
- 24. 實體框架4.1 - 用過濾器覆蓋實體(DBSet)
- 25. C#實體框架 - LINQ與實體查詢子查詢
- 26. 實體框架查詢裝飾器立即發送查詢
- 27. 實體框架查詢包含實體集合的子實體
- 28. 如何在實體框架中過濾「包含」實體?
- 29. 實體框架,軟刪除和查詢
- 30. 動態查詢與實體框架4
你可以發佈什麼樣的例子以及如何達到這個目的嗎? –