1

JohnPapaがMVC4Web APIアプリ用のこの新しいSPAテンプレートについて投稿したとき、私はbreeze.jsについて非常に興味がありました。

私は現在、エンティティデータモデルとしてDevForce 2012を使用し、このモデルがbreeze.jsをどのようにサポートするかを探していたアプリケーションに取り組んでいます。

テーブルからデータをフェッチできる単純なMVC4プロジェクトを構築したかっただけです。

私はそれがコントローラーのように見えるかもしれないと思いました:

[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でDevForce2012を実行することは実際に可能ですか?私はかなり前からグーグルをしていましたが、まともな検索結果が得られることはめったにありません。そうでない場合は申し訳ありませんが、ドキュメントにはまだこれが不足している可能性がありますか?

4

1 に答える 1

1

DevForce を Breeze でリファクタリングする最善の方法は、既存の Entity Framework モデルを Breeze に共有 (またはコピー) することです。ドキュメントでご覧になったように、次に Entity Framework コンテキストを Breeze EFContextProvider でラップして、WebAPI エンドポイントとして公開します: http://www.breezejs.com/documentation/web-api-controller

さまざまな技術的な理由から、Breeze は DevForce モデルを直接使用しませんが、EFContextProvider ( http://www.breezejs.com/documentation/custom-efcontextprovider ) をサブクラス化することで同等の保存インターセプターにアクセスし、クエリ インターセプトを実行できます。サブクラス化された ApiController ( http://www.breezejs.com/documentation/web-api-controller ) で。

また、Breeze は EF の複合型をサポートしていますが、EF 継承またはペイロードのない EF 多対多マッピングはまだサポートしていないことに注意してください。編集: v1.3.1 以降、Breeze は継承をサポートするようになりました。

お役に立てれば!

于 2013-02-20T22:24:06.770 に答える