javascript - Breeze .js : how do I exclude tables/entities from breeze metadata collection?

标签 javascript metadata breeze

我有一个单页应用程序,在后端使用 Entity Framework ,在客户端使用 Breeze.js。我还在使用 Breeze .Net EF 类。为了让 Breeze 客户端在客户端上创建 Breeze 实体,它调用名为“MetaData”的 Controller 方法。此方法返回数据库中所有实体的集合,甚至是那些可能不在客户端上使用的实体。

尽管元数据中没有编码逻辑,但它确实包含数据库的完整架构。其中一些实体用于安全和业务逻辑,我希望不要将整个结构向世界开放。

有没有办法从breezejs元数据集合中排除实体(不仅仅是单个属性)?

谢谢

最佳答案

简单的方法是创建一个仅包含您想要公开的类和关系的DbContext。使用流畅的界面来缩小它并削弱你不想要的关系。

然后基于此有限的 DbContext 创建一个 EfContextProvider 实例。

如果您愿意,您可以专门使用这个简化的 DbContext 来生成元数据。如果需要,您可以切换到更强大的东西(包装在不同的 EfContextProvider 中)。

请参阅文档章节 "EF as a Design Tool" .

关于javascript - Breeze .js : how do I exclude tables/entities from breeze metadata collection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587118/

相关文章:

javascript - 如何通过异步调用检索数据

javascript - 更改 REST API 服务器的最佳实践

javascript - 陷入一段 JavaScript 有限状态机代码

javascript - 如何在 Metro 应用程序中存储用户偏好

sql - 查找 View 中每一列的源表

metadata - GNOME:Nautilus 在哪里存储徽章数据以及如何存储?

javascript - 如何从异步函数 BreezeJS 关闭模式

sql-server - 在 MSSQL 2000 中如何确定某列是否为标识列?

Knockout 的日期格式问题和同步到 Breeze .js entityAspect 已修改

breeze - 如何检测实体 EntityState 的更改?