在选择与NHibernate一起使用的身份生成器时,我应该考虑什么?
E.g。简单流畅的映射:
Id(c => c.ID).GeneratedBy.HiLo("User");
Map(c => c.Username).Not.Nullable().Length(50);
Map(x => x.Password).Not.Nullable().Length(40);
有了这个POCO:
public class User
{
public virtual long ID { get; private set; } // This could be changed to GUID etc
public virtual string Username { get; set; }
public virtual string Password { get; set; }
public User ()
{
}
}
这应该使用HiLo,uuid.hex,HiLoseq等......为什么?
答案 0 :(得分:6)
a resource我在做出决定时已经习惯了(我选择了HiLo,这是我通常建议的,据我所知)。
this guy更喜欢GUID
我认为最终归结为个人偏好
每个人都同意的唯一不是使用身份(特别是如果你使用的是SQL服务器,因为那么你会在几百个记录之后耗尽你的ID ......)