本文提供一种解决方案:数据源用XpoDatasource实现。首先在数据库中建立一个多表查询的结果集的视图,然后在项目中定义一个结构体,对应视图的列,接下来定义一个继承于XPLiteObject的实体类,这个类就是XpoDatasource的TypeName属性值。
定义的结构体如下:
定义的结构体如下:
public struct SVDefect
{
[Persistent("TaskId")]
public Guid TaskId;
[Persistent("Defect")]
public string Defect;
[Persistent("CreateDate")]
public DateTime CreateDate;
}
定义的实体类如下: [Persistent("V_Defect")]
public class VDefectXpo : XPLiteObject
{
public VDefectXpo(Session session) : base(session) { }
[Key, Persistent]
public SVDefect Key;
public Guid TaskId
{
get
{
return Key.TaskId;
}
}
public string Defect
{
get
{
return Key.Defect;
}
}
public DateTime CreateDate
{
get
{
return Key.CreateDate;
}
}
}