【发布时间】:2014-03-26 06:01:22
【问题描述】:
在使用微风的 SPA 应用程序中,我将如何组合来自多个源的元数据以获得相关数据,以便我可以在客户端的 1 个管理器中使用它们。例如,我可能有以下
- 来自 WebAPI 控制器的实体框架元数据(例如帐户)
- 来自 DTO 的自定义元数据(例如发票)
- 来自第三方服务的数据以及客户端元数据提供的元数据(例如发票传输结果)
在每种情况下,数据都有相关的属性,所以我可能希望能够使用 Account.Transactions.TransmissionResults
更新
我已经尝试了几种方法来使其工作,但无济于事。根据 Jay 的回答,目前无法在检索到元数据后从服务器更新元数据,所以如果并且直到发生变化(请参阅 breeze user voice issue),我只剩下以下方法之一
1 从 Entity Framework 从服务器检索元数据并在客户端添加元数据以添加额外的实体。这在一定程度上有效,但我无法将客户端上添加的实体类型的导航属性添加到从服务器检索到的实体类型,因为我无法将外键关联添加到从服务器检索到的实体,再次回到修改元数据的需要取回后。
2 手动编写完整的元数据,这会起作用,但会使可维护性变得更加困难,并且手动编写与设计人员编写的大部分代码相同的代码似乎是错误的。
3 如文档中所述从 Entity Framework 生成大部分代码,然后更新它以添加自定义实体。再次出现与选项 2 类似的问题,看起来很老套。
其他人尝试过类似的东西吗?有没有我遗漏的东西,我可能只是从微风和js开始。
谢谢
【问题讨论】:
-
这是一个合理的要求,而且我们最近越来越频繁地收到这个要求。我们现在正在研究一种允许您扩展客户端元数据的机制。目前还没有发布日期,但我们确实希望在接下来的几个月内发布。
-
谢谢,这将使微风非常适合这种情况