1

我正在编写一个连接到 SharePoint 2010 服务器的动态 OData 客户端。

我真的很希望能够访问 List 及其所有相关列。如果它是一个选择列,我希望能够访问已定义的可能选择。这甚至可能吗?

我一直试图通过将 /listdata.svc/$metadata 输入到 IEdmModel 中来查找我想要的信息。我只是不知道它可能在哪里。

这是我开始的,我可以遍历模型中的实体,以及它们各自的属性。我可以看到选择列显示为实体类型。

示例:我有一个名为 AQUISITION_TYPE 的列,其中“捐赠”、“购买”、“税收销售”作为可能的选择。

假设这不是死胡同,任何指针都会受到赞赏。

foreach ( IEdmEntityType type in model.SchemaElementsAcrossModels().OfType<IEdmEntityType>())
        {
            str_test += "\n" + type.FullName();

            foreach (IEdmProperty property in type.Properties())
            {
                //my Choice columns are of type Entity
                if (property.Type.IsEntity())
                {
                    str_test += "\t" + property.Name + " - " + property.Type.TypeKind().ToString() + " - " + property.PropertyKind.ToString() + "\n";

                }
                //My primative column types are here
                else
                {
                    str_test += "\t" + property.Name + " - " + property.Type.TypeKind().ToString() + " - " + property.PropertyKind.ToString() + "\n";
                }
            }

        }

部分解决方案... 我可以在 lists.asmx SOAP 服务中很容易地找到我想要的信息。

4

0 回答 0