ODATA服务器:属性名称与属性Id

ODATA服务器:属性名称与属性Id,odata,Odata,我已经实现了一个定制的ODATA服务 ODATA似乎没有区分属性名和属性id。 以此元数据文件为例: <?xml version="1.0" encoding="utf-8"?> <edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"> <edmx:DataServices> <Schema Namespace="ttt" xml

我已经实现了一个定制的ODATA服务

ODATA似乎没有区分属性名和属性id。 以此元数据文件为例:

<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
    <edmx:DataServices>
        <Schema Namespace="ttt" xmlns="http://docs.oasis-open.org/odata/ns/edm">
            <EntityType Name="Non table data">
                <Key>
                    <PropertyRef Name="key"/>
                </Key>
                <Property Name="key" Type="Edm.String" Nullable="true"/>
                <Property Name="period" Type="Edm.String" Nullable="true"/>
                <Property Name="period" Type="Edm.String" Nullable="true"/>
            </EntityType>
            <EntityContainer Name="DemoContainer">
                <EntitySet Name="Non table data" EntityType="ttt.Non table data"/>
            </EntityContainer>
        </Schema>
    </edmx:DataServices>
</edmx:Edmx>

有没有办法在数据文件中使用id而不将其用作列描述?

诚实的问题:为什么?在我看来,底层数据结构是最重要的部分。如果从一开始就很清楚一个名字可能会改变,那么这个设计就是有缺陷的?!此外,键、句点和句点都是Edm.String。您的后端如何知道“1”是关键,而不是周期?是否会有一个正则表达式来检查它是“dd/dddd”还是“d+”?在我的应用程序中,用户可以创建表。用户像在MS Word中一样定义表。他可能会平等地命名两个列,因为我允许嵌套列,所以在某些情况下这是有意义的。我希望表数据可以通过ODATA使用。我的表col有唯一的id,但如果不将这些唯一id显示为列名,我就不能在ODATA服务中使用它们。这有意义吗?
{
    "@odata.context": "http://192.168.0.100:4000/odata.svc/9007662e-6776-4ccb-bd5d-643a0a4f04b6/e9ba37768ae7e2e395e61cba55ff271a/$metadata#Non table data",
    "value": [
        {
            "72dfca7b-2a32-4188-a895-3e7c9c0d30a0": "1",
            "4e674922-0dec-41eb-a92a-e4ea0b9051e7": "07/2020",
            "cee801ec-6db5-4153-8c86-0633b169e323": "08/2020",
        },
    ]
}