我正在努力一点,可能是一件简单的事情或我误解的东西...但无论如何,首先使用Linq实体代码,我试图让我的一些表无法从客户端,没有成功。Linq安全 - 隐藏列
使用Breeze,我做了一个datacontext只保存我想暴露的dbset,很好。 但是,当我使用.expand()编写查询时。例如,假设我有一个我想公开的帖子表,以及一个我想要隐藏的所有者表。 使用类似的查询:
var query = EntityQuery
.from('Posts')
.expand('Owner');
我仍然可以看到所有的所有者列。
所以问题是:在Linq中,我该如何确保/保护/隐藏我想隐藏的表格和/或特定列?
经过一番挖掘,我发现的所有东西都是[JsonIgnore]属性,这对我来说似乎不够。
这样做的最好方法是什么?我觉得我失去了一些东西可能是巨大的在这里,但它的日在这里结束...
感谢
为什么客户端访问模式呢? –
这就是Breeze的工作原理:它根据DbContext将元数据发送到客户端,以使查询更容易编写。 – Nicolas
然而,问题依然存在。你为什么将元数据发送给客户端,并且不希望他们访问表格信息?创建一个不同的DbContext,只包含应该可以从客户端访问的表和字段,这似乎是一个合理的解决方案。 –