相关疑难解决方法(0)

识别NHibernate代理类

我不是NHibernate用户; 我写了一个序列化实用程序库.用户已记录一个功能请求,我应该处理NHibernate代理类,将它们视为与实际类型相同.目前,我的代码将它们视为意外继承,并抛出异常.

代码不会提前知道NHibernate(包括没有引用,但我不是反射;-p)

是否有一种强大/可靠的方法来检测此类代理类型?显然DataContractSerializer处理这个很好,所以我希望它是非常简单的.也许是一些界面或[attribute]装饰.

此外,在反序列化期间; 目前我将创建原始类型(不是NHibernate类型).这是否适用于持久性目的?或者是否需要代理类型?如果是后者; 创建代理类型的实例需要什么?

.net c# nhibernate

37
推荐指数
3
解决办法
2万
查看次数

NHibernate获取没有代理的对象

我正在使用NHibernate(2.0.1.4)与NHibernate.Linq(1.0.0.4)从数据库中获取Node类型的对象.

当我得到这些对象时,我得到的集合的最后一个对象是Proxy类型(因为我使用了"NHibernate.ByteCode.LinFu"")

我使用了以下linq查询:

var mynodes = from node in session.Linq<Node>() where ancestorNodes.Contains(node.Id) select node).ToList()
Run Code Online (Sandbox Code Playgroud)

anchestorNodes是要获取的节点对象的Id列表.

当我在"ancestorNodes"列表中有3个id时,我从查询中获得的结果(mynodes)的最后一个对象是nodeProxy类型.

怎么会这样?为什么它总是最后一个对象?我怎么解决这个问题?

c# nhibernate proxy-classes

9
推荐指数
1
解决办法
7819
查看次数

标签 统计

c# ×2

nhibernate ×2

.net ×1

proxy-classes ×1