我有一个单页应用程序,在后端使用 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/