通过OData查询的数据服务公开派生类型

时间:2011-03-02 22:28:21

标签: c# wcf entity-framework-ctp5

我创建了一个基于EF4 CTP5的代码优先模型,该模型包含父子关系中的两个实体,其中子实体包含多个额外字段。两种类型都是从同一个表TPH派生而来,并使用新创建的鉴别器。现在,我需要弄清楚如何通过数据服务公开子实体集并使其可用于查询。

用例是我们有一个包含客户层次结构的表。每个客户都有一个父母和零个或多个孩子。父母只包含设置客户端和计费所需的信息(姓名,地址等)。孩子们(你可以将它们视为卫星分支)除了从父母那里继承的东西外,还包含一组额外的属性。所有这些都包含在为纯搜索性能而非规范化的同一个表中。

到目前为止,我已经以建议的方式公开了实体集in this blog post它建议公开一个返回context.Child IQueryable集合的方法。但是,这个实体集太大了(700k +记录),只是暴露整个事物,我似乎无法获得标准的oData查询来对付服务操作。

我的问题很多,但为了使这篇文章尽可能简洁,我会限制它们。

•首先,我想知道这是否仍然是处理此问题的最佳方式?如果没有这种解决方法,似乎不允许公开派生类型是功能上的主要差距。 •其次,如何查询此实体集?这可能吗?我有可能在EF作品中没有正确的物品吗? 非常感谢任何和所有帮助或建议。

最好并提前致谢!

0 个答案:

没有答案