NHibernate代理Id值
看到这样一个场景:在按id加载实体时,NH通过代理加载(这是预期的),但是,id=0的支持字段,但虚拟属性(getter)是db中实体的id 例如:NHibernate代理Id值,nhibernate,Nhibernate,看到这样一个场景:在按id加载实体时,NH通过代理加载(这是预期的),但是,id=0的支持字段,但虚拟属性(getter)是db中实体的id 例如: private int _id; public virtual int Id { get { return _id; } } 和映射 ... <id name="Id" access="nosetter.camelcase-underscore"> ... 。。。 ... 加载实体时,例如_id=0,但id=4 代理实体时不初始化
private int _id;
public virtual int Id { get { return _id; } }
和映射
...
<id name="Id" access="nosetter.camelcase-underscore">
...
。。。
...
加载实体时,例如_id=0,但id=4
代理实体时不初始化支持字段是正常行为吗?我想说:别担心。没有什么不对的。这是正常的行为 您可以尝试创建另一个属性,例如
public virtual int MyTestId
{
get { return _id + 1; }
}
您将看到
MyTestId
是5(当Id==4时,继续上面的案例研究)。简单地说,您很可能遇到了VS调试器。。。这只是一个人。应该在NH3.3.3最新版本中提到。我想是这样的。谢谢你的澄清。谢谢