从Methods访问的nhibernate延迟加载属性

时间:2013-12-13 14:10:43

标签: c# nhibernate lazy-loading

我们使用nhibernate 3.3.2 / fluent与内部代理工厂和一个映射为“lazyload”的属性:

Map(x => x.Payload)
.LazyLoad();

如果直接从外部代码访问属性,则lazyload按预期工作, 但是如果我们在类的Method中访问该属性,则不会从db

初始化它
string x = Session.Payload.DocumentElement.OuterXml; //works

Session.GetPayload("URL_Param_WKZ", null); //fails

从GetPayload方法

访问时未初始化“Payload”
public class CustomSession
{
  public virtual XmlDocument Payload { get; set; }

  public virtual string GetPayload(string key, string @default)
        {
            XmlNode n = Payload.DocumentElement[key, @namespace]; //lazy load fails
//.....
  }
} 

0 个答案:

没有答案