如果要表示一对多的对象结构,我们可以采用如下的方式(表明了一个入库单的结构,这个入库单包含了入库单头和相关明细):
public class Form : PersistenceCapable
{
private EntityData form;
private FormDetail formDetail;
#region 构造函数
public Form() : this ( true )
{}
public Form( bool AutoInit)
{
form=EntityPrototypeManager.GetEmptyEntity("Form");
if (AutoInit)
form.NewRecord("Form");
}
public Form(EntityData entity)
{
form=entity;
}
#endregion
#region 属性
public string FormID
{
get { return form["FormID","Form"].ToString();}
set {form["FormID","Form"]= value ;}
}
public DateTime FormTime
{
get { return form.GetDateTime("FormTime","Form");}
set {form["FormTime","Form"]= value ;}
}
public FormDetail FormDetail
{
get
{
if (formDetail== null )
{
formDetail= new FormDetail(form);
}
return formDetail;
}
}
#endregion
#region PersistenceCapable 成员
public int ObjectCount
{
get
{
return form.EntityCount;
}
}
public EntityData EntityData
{
get
{
return form;
}
set
{
form= value ;
}
}
public bool Next()
{
return form.Next("Form");
}
public void First()
{
form.First("Form");
}
public void AddNew()
{
form.NewRecord("Form");
}
#endregion
}
public class FormDetail : PersistenceCapable
{
private EntityData form;
#region 构造函数
public FormDetail() : this ( true )
{}
public FormDetail( bool AutoInit)
{
form=EntityPrototypeManager.GetEmptyEntity("Form");
if (AutoInit)
form.NewRecord("FormDetail");
}
public FormDetail(EntityData entity)
{
form=entity;
}
#endregion
#region 属性
public string FormDetailID
{
get { return form["FormDetailID","FormDetail"].ToString();}
set {form["FormDetailID","FormDetail"]= value ;}
}
public string FormID
{
get { return form["FormID","FormDetail"].ToString();}
set {form["FormID","FormDetail"]= value ;}
}
public string ProductID
{
get { return form["ProductID","FormDetail"].ToString();}
set {form["ProductID","FormDetail"]= value ;}
}
public decimal InCount
{
get { return form.GetDecimal("InCount","FormDetail");}
set {form["InCount","FormDetail"]= value ;}
}
#endregion
#region PersistenceCapable 成员
public int ObjectCount
{
get
{
return form.Tables["FormDetail"].Rows.Count;
}
}
public EntityData EntityData
{
get
{
return form;
}
set
{
form= value ;
}
}
public bool Next()
{
return form.Next("FormDetail");
}
public void First()
{
form.First("FormDetail");
}
public void AddNew()
{
form.NewRecord("FormDetail");
}
<SPAN lang=EN-US style="FONT-SIZE: