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