我们使用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
//.....
}
}