如何在 oData 结构中映射授权(和其他子信息)
How map authorizations (and other sub-infos) in oData structure
这是 oData EDM 的基本架构:
thanks for the image Filippo
我有我的数据库结构:
Product (Code, Description, IVA, Price)
|n
|
|
|
|1
Purchase(ID, Product, Customer)
我想使用 oData 公开我的数据;我可以在两个 EntitySet 中以自然的方式映射 Product 和 Purchase:ProductSet 和 PurchaseSet.
例如,如果我需要 ProductSet 的所有项目,我会收到 100 个产品的集合;每个产品有 4 个属性,例如:
{
Code:01,
Description: "blue pen",
IVA: "19",
Price: "2.99"
}
好的,但是根据登录的用户,oData 之前的业务逻辑想要向我发送更多信息(例如 editable sub 属性):
{
Code: {value:01, editable:false},
Description: {value:"blue pen", editable:false},
IVA: {value:19, editable:true},
Price: {value:"2.99", editable:true}
}
(我无法在这种模式下发送新信息,我只有实体集和属性...)
在 EDM 中映射可编辑信息的正确方法是什么?一个新的 属性??
您可以通过创建具有值和可编辑属性的 ComplexType 来实现此目的。因此,您的实体的属性将引用 ComplexType。
这是 oData EDM 的基本架构:
我有我的数据库结构:
Product (Code, Description, IVA, Price)
|n
|
|
|
|1
Purchase(ID, Product, Customer)
我想使用 oData 公开我的数据;我可以在两个 EntitySet 中以自然的方式映射 Product 和 Purchase:ProductSet 和 PurchaseSet.
例如,如果我需要 ProductSet 的所有项目,我会收到 100 个产品的集合;每个产品有 4 个属性,例如:
{
Code:01,
Description: "blue pen",
IVA: "19",
Price: "2.99"
}
好的,但是根据登录的用户,oData 之前的业务逻辑想要向我发送更多信息(例如 editable sub 属性):
{
Code: {value:01, editable:false},
Description: {value:"blue pen", editable:false},
IVA: {value:19, editable:true},
Price: {value:"2.99", editable:true}
}
(我无法在这种模式下发送新信息,我只有实体集和属性...)
在 EDM 中映射可编辑信息的正确方法是什么?一个新的 属性??
您可以通过创建具有值和可编辑属性的 ComplexType 来实现此目的。因此,您的实体的属性将引用 ComplexType。