breeze.js :如何从 breeze 元数据收集中排除 tables/entities?
breeze.js : how do I exclude tables/entities from breeze metadata collection?
我有一个单页应用程序,在后端使用 Entity Framework,在客户端使用 Breeze.js。我也在使用 breeze .Net EF 类。为了让 breeze 客户端在客户端创建 breeze 实体,它调用了一个名为 "MetaData" 的控制器方法。此方法 returns 数据库中所有实体的集合,甚至包括那些可能不会在客户端上使用的实体。
尽管元数据中没有编码逻辑,但它确实包含数据库的完整架构。其中一些实体用于安全和业务逻辑,我不希望整个结构向世界开放。
有没有办法从 breezejs 元数据集合中排除实体(而不仅仅是单个属性)?
谢谢
最简单的方法是创建一个 DbContext
,它只包含您想要公开的那些 类 和关系。使用流畅的界面将其缩小并烧灼您不想要的关系。
然后根据这个有限的DbContext
创建一个EfContextProvider
的实例。
如果您愿意,可以将此缩减 DbContext
专门用于元数据生成。如果需要,您可以切换到更强大的东西(包装在不同的 EfContextProvider
中)。
请参阅文档章节 "EF as a Design Tool"。
我有一个单页应用程序,在后端使用 Entity Framework,在客户端使用 Breeze.js。我也在使用 breeze .Net EF 类。为了让 breeze 客户端在客户端创建 breeze 实体,它调用了一个名为 "MetaData" 的控制器方法。此方法 returns 数据库中所有实体的集合,甚至包括那些可能不会在客户端上使用的实体。
尽管元数据中没有编码逻辑,但它确实包含数据库的完整架构。其中一些实体用于安全和业务逻辑,我不希望整个结构向世界开放。
有没有办法从 breezejs 元数据集合中排除实体(而不仅仅是单个属性)?
谢谢
最简单的方法是创建一个 DbContext
,它只包含您想要公开的那些 类 和关系。使用流畅的界面将其缩小并烧灼您不想要的关系。
然后根据这个有限的DbContext
创建一个EfContextProvider
的实例。
如果您愿意,可以将此缩减 DbContext
专门用于元数据生成。如果需要,您可以切换到更强大的东西(包装在不同的 EfContextProvider
中)。
请参阅文档章节 "EF as a Design Tool"。