3

私は Breeze.js を使用していくつかのエンティティを保存しようとしています。Breeze は正常に動作しており、必要に応じてすべての変更を保存しています。ただし、承認がサーバー側であることを検証して確認するのに問題があります。これまでに収集したことから、これを行う唯一の方法は、保存バンドルに渡された JObject を調べて、サーバー側で対応するオブジェクトを構築することだと思います。これを行う必要があります (サーバー側にいくつかのロジックがあるため、Breeze.SaveChanges に依存するのではなく)。どうすればいいですか?Breeze.WebApi を構築するにはどうすればよいですか。結果を保存しますか? この問題を解決する他の方法のアイデアも大歓迎です</p>

4

3 に答える 3

2

これは、カスタム を実装することによって行う必要がありますEFContextProvider

以下のコードEFContextProviderは、Northwind データベースのカスタムを実装しており、breeze.com Web サイトのドキュメントから直接取得したものです。

    public class NorthwindContextProvider: EFContextProvider<NorthwindIBContext> {
    public NorthwindContextProvider() : base() { }

    protected override bool BeforeSaveEntity(EntityInfo entityInfo) {
      // エンティティを保存したくない場合は false を返します。
      // タイプ 'Role' のエンティティの追加を禁止します
      if (entityInfo.Entity.GetType() == typeof(Role)
        && entityInfo.EntityState == EntityState.Added) {
        false を返します。
      } そうしないと {
        true を返します。
      }
   }

    protected override Dictionary<Type, List<EntityInfo>> BeforeSaveEntities(Dictionary<Type, List<EntityInfo>> saveMap) {
      // 保存したいエンティティのマップを返します。
      saveMap を返します。
    }
  }
于 2013-06-03T11:26:52.967 に答える