使用带有自定义注释的DataServiceContext

时间:2013-10-21 16:17:50

标签: asp.net-web-api odata wcf-data-services

当使用DataServiceContext类的实例来实现端点公开某些custom annotations的odata端点中的对象时,如何获取注释数据。我看不出任何明显的可扩展性点。

1 个答案:

答案 0 :(得分:2)

自定义注释不会作为DataServiceContext上的第一类概念公开,但您可以通过挂钩到客户端响应处理管道来访问它们。此代码将在每个实体完成读取后运行:

context.Configurations.ResponsePipeline.OnEntryEnded(
    entryArgs => DoSomething(entryArgs.Entry.InstanceAnnotations));

在内部,WCF数据服务客户端使用名为ODataLib的较低级库(在NuGet上称为Microsoft.Data.OData)。响应和请求管道允许您在需要时进入较低级别以获取额外信息,但您仍然可以获得使用完整WCF数据服务客户端库的所有便利。您在处理管道上使用的ODataEntry,ODataFeed等类都是ODataLib API的一部分。