私はRIAサービスとnHibernateの組み合わせを持っています。 nHibernateは、データベース側でIDを使用するように設定されています。したがって、新しいエンティティはidが0で送信されます。 nHibernateは必要に応じて動作します。データベースから生成されたキーを更新し、エントリを更新します。RIAサービスとnHibernateは新しい問題を挿入します
私は構成階層を持つ例があります。私の主体は複雑で、2つのコレクションを持っています。
InvestObject
- MaterialItems
- WorkItems
私は1つの作業単位でこの構造体を使用します。 Silverlightアプリケーションでデータを取得して表示することは問題ありません。ただ素材のため、いくつかのダミーの負のIDを生成するために、
Submit operation failed. Invalid ChangeSet : Only one entry for a given entity instance can exist in the ChangeSet. at System.ServiceModel.DomainServices.Server.ChangeSet.ValidateChangeSetEntries(IEnumerable
1 changeSetEntries) at System.ServiceModel.DomainServices.Server.ChangeSet..ctor(IEnumerable
1 changeSetEntries)
クライアント側のクイックフィックスがあります:私はクライアント側でMaterialItemsコレクションに複数の項目を追加しようとした場合保存するときしかし、私はこのエラーを取得します。これはRIAで動作し、保存はサーバー側に伝播されます。しかし、nHibernateはエラーを発生させます。beacuseは、指定された値()ではなく、すべての新しいIDに対して0を期待します。だからこれは問題ではない。
最後に、新しいIDをすべて0に戻してnHibernateを騙しましたが、これで私は幸せにはなりません。それは面倒な醜い解決策です。