2012-03-08 80 views
0

我有一个自定义属性(在网格绑定)这样的:有没有办法用NHibernate创建一个懒惰的自定义属性?

public class MyClass 
{ 
     public virtual IList<clsClass2> MyList{ get; set; } //Lazy loaded 
     public virtual string CustomProperty //To use on Grid Binding 
     { 
      get 
      { 
      if (!MyList.IsNullOrEmpty()) 
       return MyList.Select(__comp => __comp.Name).ToList().ToString(", "); 
       return string.Empty; 
      } 
     } 
} 

其工作正常......但是这样每次我打开一个MyClass的对象,它的负荷,因为CustomProperty的每MYLIST元素。 ..

有没有更好的方式来做到这一点?

感谢

+2

lazyloaded财产蒙山公式 – Firo 2012-03-09 12:22:13

+0

你能给一个小样本的数据库语法? – Paul 2012-03-09 13:15:54

回答

1
public virtual string CustomProperty //To use on Grid Binding 
{ 
    get; private set; 
} 

// using FLuentMapping 
Map(x => x.CustomProperty).Formula("(SELECT ... FROM Class2Table c2 WHERE c2.MyClass_id = Id)"); 

和交流...与聚集串see here

+0

使用XML PATH尝试过,但得到一个错误......我发现:https://nhibernate.jira.com/browse/NH-2132 ......所以我觉得我不能NHibernate的公式使用XML PATH ....有没有其他方法? – Paul 2012-03-12 13:38:09

相关问题