首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

個人開發框架總結(一):BaseModel、ParameterCollection 與資料模型實作範例

     編輯:關於C語言

ParameterCollection - 參數集合增強

除基本參數管理外,提供兩大關鍵方法:

  • FromDataModel:依模型屬性自動產生參數集合,供新增/修改使用。
  • Format:自動產生 SQL 片段,例如 params.Format("insert into table({0}) values({1})") 產生欄位清單與參數佔位符。

BaseModel - 資料模型基類

所有實體類別繼承 BaseModel,需覆寫:

  • TableName、PrimaryKey
  • GetDataColumn(string ColumnName):回傳欄位中繼資料

完整實體範例:TB_BUY_BILL

[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> 即可使用框架內建清單功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved