如何开始使用breeze.js和DevForce 2012?

时间:2013-02-20 21:42:26

标签: c# asp.net-mvc breeze devforce

当John Papa发布了关于MVC 4 Web API应用的this新SPA模板时,我对breeze.js非常好奇。

我目前正在开发一个应用程序,该应用程序使用DevForce 2012作为实体数据模型,并且正在搜索此模型如何支持breeze.js。

我只想构建一个简单的MVC 4项目,该项目能够从表中获取数据。

我认为可能是,控制器的样子:

[BreezeController]
public class TodosController : ApiController
{
    // ~/api/todos/Metadata 
    [HttpGet]
    public string Metadata()
    {
        return // that's where I surely need help,
               // because breeze.js really needs this, I think
    }


    // ~/api/todos/CustomEntities 
    [HttpGet]
    public IQueryable<CustomEntity> CustomEntities()
    {
        var manager = MyStaticContext.EntityManager;
        return new EntityQuery<CustomEntity> {EntityManager = manager};

    }
}

实际上是否可以使用breeze.js运行DevForce 2012?我现在谷歌搜索相当一段时间,但很少得到体面的搜索结果。如果没有,我很抱歉,但文档可能缺少这个,但是?

请跟我一起去。我是MVC和Html5 / JavaScript的新手。我真的很感激能与之相提并论。

1 个答案:

答案 0 :(得分:1)

使用Breeze重构DevForce的最佳方法是将现有的Entity Framework模型共享(或复制)到Breeze。正如您在文档中看到的那样,然后使用Breeze EFContextProvider包装Entity Framework上下文以将其公开为WebAPI端点: http://www.breezejs.com/documentation/web-api-controller

由于各种技术原因,Breeze不直接使用DevForce模型,但您可以通过继承EFContextProvider(http://www.breezejs.com/documentation/custom-efcontextprovider)来访问等效的保存拦截器,并且可以在子类ApiController中执行查询拦截({{ 3}})。

另请注意,Breeze支持EF的复杂类型,但尚不支持EF继承或EF多对多映射,没有有效负载。 编辑:从v1.3.1开始,Breeze现在支持继承。

希望这有帮助!