简短的版本:
当我拯救一个实体时,使用Nhibertate 3.3中的公约时,该代号财产没有更新。
详细版本 :
实体 I 财产
public virtual Guid GuitarId { get; protected set; }
数据库里保存了这些实体的地图, 但数据库里没有我实体的代号, 即使我试图加载实体时, 也完全忽略了这些实体。
mapper.BeforeMapClass += (model, type, classCustomizer) =>
{
classCustomizer.Id(x =>
{
x.Column(type.Name + "Id");
x.Generator(Generators.GuidComb);
});
};
试图获得一个保存的实体,我得到了人口 所有的实体领域 除了ID,我试图访问 ID财产 只是以防它 懒惰但没有运气:
var g = session.Get<Guitar>(existingId);
如果我推翻一个实体的 ID 映射, 我保存后得到正确的 ID 属性
mapper.Class<Guitar>(map =>
{
map.Id(x => x.GuitarId, x =>
{
x.Generator(Generators.GuidComb);
});
});
问题在于 beforeMapClass
事件, 有什么建议吗?
我错过什么了吗 还是这个虫子