除基本參數管理外,提供兩大關鍵方法:
FromDataModel:依模型屬性自動產生參數集合,供新增/修改使用。Format:自動產生 SQL 片段,例如 params.Format("insert into table({0}) values({1})") 產生欄位清單與參數佔位符。所有實體類別繼承 BaseModel,需覆寫:
TableName、PrimaryKeyGetDataColumn(string ColumnName):回傳欄位中繼資料[Serializable]
public class TB_BUY_BILL : BaseModel
{
#region 表映射
public override string TableName => "TB_BUY_BILL";
public static string _TableName = "TB_BUY_BILL";
public override string PrimaryKey => "BUY_BILL_ID";
public static string _PrimaryKey = "BUY_BILL_ID";
public override DataColumn GetDataColumn(string ColumnName)
{
var column = new DataColumn();
switch (ColumnName)
{
case "BUY_BILL_ID":
column.ColumnName = "BUY_BILL_ID";
column.ColumnSize = 200;
column.DbType = 16; // DbType.String
column.IsPrimaryKey = true;
return column;
case "BILL_TYPE":
column.ColumnName = "BILL_TYPE";
column.DbType = 10; // DbType.Int32
return column;
// ... 其他欄位略
}
return null;
}
#endregion
#region 成員與屬性
private string m_BUY_BILL_ID;
private BILL_TYPE m_BILL_TYPE;
// ... 其他私有欄位
public string BUY_BILL_ID { get => m_BUY_BILL_ID; set => m_BUY_BILL_ID = value; }
public BILL_TYPE BILL_TYPE { get => m_BILL_TYPE; set => m_BILL_TYPE = value; }
// ... 其他屬性
#endregion
}
public enum BILL_TYPE
{
[EnumText("電子")] ELE = 0,
[EnumText("手工")] MAN = 1,
}
集合類別 TB_BUY_BILLs : DataModelList<TB_BUY_BILL> 即可使用框架內建清單功能。