0

我无法想象这是一个新问题,但我没有找到有关此问题的任何答案。

为 C# 项目使用 WCF 和 VS 生成的数据对象,此问题围绕SetEntitySetAccessRule()(如您所知)设置数据库中每个表的访问权限的方法。每个需要交互的表都必须在InitializeService()每个 WCF 数据库实现调用的方法中调用此方法。然后将这些规则集发布到 Web 服务器(由 MS 2008 R2 和 IIS 7.5 托管),这就是我们的门户。

假设我们有两个表: OrdersCustomers. Orders可以设置为只写,Customers也可以设置为只读。该模型运行良好,直到...您想向客户添加一行;中设置的只读权限SetEntitySetAccessRule()将阻止任何写入Customers表的尝试(包括使用 VS 接口时。)

有没有办法使在InitializeService某种变量中声明的表的权限依赖?或者我们是否需要允许Customers表是可写的,因为我们需要偶尔修改表?

4

1 回答 1

0

我相信您可以将权限设置为All然后将更改拦截器应用于需要特殊处理的表。您可以在此处根据您的业务规则取消请求。您可以在http://mattfrear.com/2011/02/25/inserting-odata/
上查看更多信息

于 2013-01-21T11:00:54.920 回答