Frecuencia.cs
public class Frecuencia : Modelo<Frecuencia>
{
...
public virtual string FrecuenciaEspecifica { get; set; }
...
protected virtual FrecuenciaEspecifica GetFrecuenciaEspecifica()
{
Console.WriteLine(FrecuenciaEspecifica);
}
}
frecuencia.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Dominio"
namespace="Dominio">
<class name="Frecuencia" table="frecuencias">
...
<property name="FrecuenciaEspecifica" />
</class>
</hibernate-mapping>
如果我拨打GetFrecuenciaEspecifica()
,我会得到一个空输出,但如果我尝试:
在另一个类中Console.WriteLine(Frecuencia.FrecuenciaEspecifica)
,我得到了输出值。
见下面的图片
我做错了什么?
答案 0 :(得分:0)
目前尚不清楚你是如何创建每个实例的,但鉴于你正在使用NHibernate,我猜第一个例子,它是null,不是从ISession
获得的,或者如果你是的,会议结束了,WPF正在吞下这个例外。
如果未从会话加载,则没有代理,也没有从数据库加载值的机制。您可以使用即时窗口进行检查,然后键入this is NHibernate.Proxy.INHibernateProxy
,如果值为false
,则表示您未从会话中加载它。
如果会话已关闭,并且WPF正在吞咽它,则可以使用“Visual Studio例外”对话框停止ObjectDisposedException
。