0

Fluent NHibernate を使用して SQLite データベースと通信し、オブジェクトを保存するアプリケーションがあります。以下のコードを実行すると、すべての新しいアイテムが空の Guid でループに入りますが (これは予想されます)、SaveOrUpdate 関数が実行されると、すべての新しいアイテムが同じ Guid を受け取ります。session.flush() を追加して、セッションをフラッシュして一意の Guid を強制できるかどうかを確認しましたが、サイコロはありません。

どんな助けでも大歓迎です!

マイ マッピング ファイル

Id(x => x.Id).GeneratedBy.GuidComb().Unique();

コード

public void SaveItems()
    {
        using (ISession session = SessionProvider.OpenSession())
        {
            using (var transaction = session.BeginTransaction())
            {
                foreach (Item item in this.Items)
                {
                    session.SaveOrUpdate(item);
                    session.Flush();
                }

                transaction.Commit();
            }
        }
    }
4

1 に答える 1