我刚开始使用 Hot Towel,我想将我们现有的(相当大的)系统从使用旧的 MVC2 转换为一个不错的 SPA。我需要重用为我们处理所有存储库工作的服务。我也许可以创建一些 IQueryable 方法来获取实体,但需要通过旧方法进行保存。正如我所说,我才刚刚开始,如果这过于菜鸟,请原谅我。
如何让我的 BreezeController 与我的服务而不是示例中的数据上下文对话?我现在最大的障碍是元数据。
谢谢,
莫腾
Breeze 不需要 DbContext,但正如您所发现的那样,您需要明确描述 Breeze 元数据。
Breeze zip 中的NoDb示例有一个示例说明如何执行此操作。请注意,您可以通过对 MetadataStore 的方法调用直接在客户端定义元数据,也可以从服务器上的Metadata()方法返回 Breeze 元数据格式的单个 json 对象。元数据格式在网站上的 Breeze 文档中有更详细的描述。
一种方法是在单独的文档中定义服务器上的元数据,在下面的示例中为“metadata.json”,然后将其返回。
[HttpGet]
public String Metadata() {
var folder = Path.Combine(HttpRuntime.AppDomainAppPath, "App_Data");
var fileName = Path.Combine(folder, "metadata.json");
var jsonMetadata = File.ReadAllText(fileName);
return jsonMetadata;
}