我一直在阅读 Alex D. James 三年前的博客文章,如下所示:
这是一个关于通过 WCF 数据服务公开自定义数据的精彩博客系列。在题为“关系”的第 8 篇文章中,他谈到了如何描述和公开相关数据。正如一位评论者指出的那样,该帖子的问题在于他是在内存中进行的,但没有解释如何动态提供相关数据。
使用他的示例,例如,我想通过数据库动态获取我的“产品”。我怎么做?
我一直在阅读 Alex D. James 三年前的博客文章,如下所示:
这是一个关于通过 WCF 数据服务公开自定义数据的精彩博客系列。在题为“关系”的第 8 篇文章中,他谈到了如何描述和公开相关数据。正如一位评论者指出的那样,该帖子的问题在于他是在内存中进行的,但没有解释如何动态提供相关数据。
使用他的示例,例如,我想通过数据库动态获取我的“产品”。我怎么做?
您需要编写自定义 IQueryable 实现。WCF DS 服务器将构造一个描述查询(包括所有扩展和对所有属性的访问)的 LINQ 查询。通过自定义实现,您可以将此类查询转换为您想要的任何内容。或者您可以覆盖查询评估(GetEnumerator 和枚举器执行)以从某处检索相关数据。
请注意,这绝对不是一项简单的任务。我写了一系列关于生成的 LINQ 表达式树以及每个部分的含义的博客文章。您至少需要在代码中部分识别这些,以实现相关属性的延迟加载。 http://blogs.msdn.com/b/vitek/archive/2010/02/25/data-services-expressions-part-1-intro.aspx