NHibernate - 由指定的guid生成 - 正在覆盖Save()

时间:2012-12-14 17:51:56

标签: nhibernate fluent-nhibernate

有人可以告诉我为什么即使我有这个映射:

mapping.Id().GeneratedBy.Assigned();

我自己分配了我的实体的ID

致电

Session.Save(entity)

会导致新的Guid与我在实体上分配的Guid不同吗?

2 个答案:

答案 0 :(得分:5)

Soo ..正在下载NHibernate&流利的NHibernate源和争取让他们编译,并走过我偶然发现:

s.Save(entity, entity.Id);

这迫使它似乎使用提供的Id。

现在我感到沮丧和沮丧,并且很想知道为什么你需要为一些指定的id实体做这个而不是为其他人...

<强> Hrummphh

原来这是区别:

mapping.Id().GeneratedBy.Assigned();

mapping.Id(x => x.Id).GeneratedBy.Assigned();

前者被接受但被忽略......

答案 1 :(得分:1)

我经常使用已分配的GUID而没有任何问题。我认为你应该在你的Id属性的setter上设置一个断点,并在它被更改时检查调用栈。