这不是';t将Castle Proxies与NHibernate一起使用时返回相同的引用
本文关键字:返回 引用 一起 NHibernate Proxies Castle 这不是 | 更新日期: 2023-09-27 18:25:03
我遇到了一些问题,当使用nhibernate的castle代理时,返回"this"会以某种方式返回不同的引用/类型。Castle为2.5.2.0,NHibernate为3.1.0.4000
public class Node
{
public int Id { get; set; }
public Node Me() { return this; }
}
public static void SomeMethod()
{
var node = session.Load<Node>(1)
var me = node.Me()
//ReferenceEquals(node, me) // false
//node == me // false
//node.GetType().Name // NodeProxy
//me.GetType().Name // Node
me.Id = 88;
// node.Id == 88 // true
}
这是预期的行为。请参阅我的博客文章,破解懒惰加载的继承。