私はnhibernateを初めて使用します。これが私がやろうとしていることです。
人々のテーブルと彼らに割り当てられたスケジュールIDをデータベースから取得します。このテーブルのレコードは、personオブジェクトで表されます。人の集まりを人と呼びましょう。UIで、このコレクションに個人を追加したり、個人を削除したり、個人に関連付けられたスケジュールIDを変更したりできます。UIでこれらすべての変更を行い、peopleオブジェクト(personsのコレクション)をサービスレイヤーに送信します。
サービスレイヤー:
私がこれをするなら
people.ForEach(x => INHibernateLinqRepository<person>.Save(x));
ピープルコレクションの全員をテーブルに挿入します。そのIDがデータベースにすでに存在する場合、更新されるはずではありませんか?
これは私が試した別のことです。サービスがUIからユーザーを取得した後、データベースから別のコレクションにユーザーを取得します。次に、2つを比較して、どちらを更新し、どちらを保存するかを決定します。次に、新しいアイテムに対してのみ保存を呼び出します。しかし、それはエラーをスローします
a different object with the same identifier value was already associated with the session:
私はイライラしています。誰かが私を助けることができますか?