我的任务是从Microsoft Project服务器检索OData。在Querying OData feeds for Project reporting data之后,我能够检索每个项目的所有默认Microsoft Project字段。可以在项目服务器上的元数据中找到每个默认字段列。
现在我需要访问每个级别的对象的自定义字段。我使用了下面的linq和上下文:
WebDCWater.ProjectOData.ReportingData context =
new WebDCWater.ProjectOData.ReportingData(new Uri(PSDATA, UriKind.Absolute));
var proj = context.Projects
.OrderBy(p => p.ProjectName).Select(p => p).FirstOrDefault();
此查询获取每个项目的默认列值(ProjectEndDate,ProjectDuration,ProjectName等)。但是,我需要访问元数据中找不到的自定义字段。
如何扩展我的服务参考以包含自定义字段?是否有需要在项目服务器端进行更改的内容?
根据MSDN,自定义字段和关系应包含在服务引用中:
设置ProjectData或查询的服务引用时 〜/ ProjectData / $ metadata,实体数据模型(EDM或OData模式) 包括引用时的自定义字段属性。