正在创建重复的GUID - Fluent NHibernate

时间:2013-07-18 19:26:13

标签: c# nhibernate fluent-nhibernate

我有一个应用程序,我使用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();
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

最初这是一个评论,但由于事实证明它是正确的,所以应该是一个答案:

验证Items集合的成员是否是真正不同的对象,而不仅仅是对同一实例的多个引用。