0

我在 DB 中有一个表,我想用 oData 显示/编辑数据。我不想简单地使用 EntitySet 公开行,因为我的业务逻辑将信息添加到每行的每个字段:

例子。我在数据库中有一个包含 3 行的表:

k   c1   c2   c3   c4
----------------------
01  a    b    d    e
02  f    g    h    i
03  l    m    n    o
04  p    q    r    s

用户 A 可以:

  • 每个字段的完全控制(创建-读取-更新-删除)(不修改-编辑键,但可以删除行)

用户 B 可以:

  • 仅编辑第二行

用户 C 可以:

  • 仅编辑 m、n 和 r

如何使用 oData 发送这种复杂性?

  1. 如何识别登录的用户?(http GET oData EntitySet 标头中的 sessionId 字符串?)
  2. 在元数据中,我可以公开与数据的不同类型的交互吗?
  3. 如果我想指定精确的 CRUD 信息 (UserB),我该如何传递信息?(使用复杂类型?)

这些是我的问题。我喜欢 oData,尤其是元数据的完整描述性概念,但它似乎与我的数据访问复杂性不匹配。

4

0 回答 0