Entity framework 如何在一个公共类中对多个数据服务的多个实体进行过滤?

Entity framework 如何在一个公共类中对多个数据服务的多个实体进行过滤?,entity-framework,wcf-data-services,Entity Framework,Wcf Data Services,分层数据库和每个表都有一个DataSetId,我绝对希望确保数据始终正确分区 目前我使用的是QueryInterceptor属性,但它杂乱无章,重复性太强,容易出错。一些新开发人员可能会添加一个新表,而忘记按DataSetId进行筛选,或者只是重命名一个表。所以我把它放在一个基类中,但是我的存储库的iquirable属性从未被调用 我有一个从ObjectContext继承的“CoreRepository”类,我的每个IQueryable集合都使用“CoreObjectSet”。CoreObjec

分层数据库和每个表都有一个DataSetId,我绝对希望确保数据始终正确分区

目前我使用的是QueryInterceptor属性,但它杂乱无章,重复性太强,容易出错。一些新开发人员可能会添加一个新表,而忘记按DataSetId进行筛选,或者只是重命名一个表。所以我把它放在一个基类中,但是我的存储库的iquirable属性从未被调用

我有一个从ObjectContext继承的“CoreRepository”类,我的每个IQueryable集合都使用“CoreObjectSet”。CoreObjectSet通过始终添加表达式以按DataSetId进行筛选来扩展ObjectSet。直接使用时,效果良好。但是当用于数据服务时,存储库中集合的Get访问器永远不会被数据服务调用。它似乎在作弊,根本不使用它们,直接访问数据

有没有一种方法可以让DataService通过repository类正确地进行访问(并且仍然可以获得作为SQL传递查询的效率)

如果这是一种行为,为什么即使T的DataService不使用该类,也要使用它呢?ADO团队忽略它,直接使用edmx似乎是一种攻击

谢谢
Aaron

看起来唯一的解决方法是使用T4模板来生成数据服务。我更喜欢基类或某种可重用的处理程序,但ADO让我别无选择