我有一个自定义属性(在Grid中绑定),如:
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元素......
有更好的方法吗?
由于
答案 0 :(得分: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
的数据库语法交换...