三 定義主從實體基類

2021-09-21 09:06:26 字數 3651 閱讀 2999

定義主從實體基類的原因是我希望在類的定義時,可以很明確的了解類之間的主從關係。

定義primarydataentitybase

/// 

/// 描述主從表的主表的資料實體  

/// 

/// name

="id"

>主表實體的主鍵id

/// name

="p"

>主表

/// name

="f"

>從表

public

abstract class primarydataentitybase: entitybase

where

p : primarydataentitybase

where

f : foreigndataentitybase

/// 

/// 按

table

的第一行資料進行屬性的初始化  

/// 

/// name

="table"

>

public

primarydataentitybase(system.data.datatable 

table

)  : this(

table

, 0)  

/// 

/// 按

table

的指定行資料進行屬性的初始化  

/// 

/// name

="table"

>

/// name

="indexrow"

>

public

primarydataentitybase(system.data.datatable 

table

, int

indexrow)  

: base(

table

, indexrow)  

/// 

/// 裝載當前從表的詳細項  

/// 

protected abstract listloaddetaileditems();  

/// 

/// 存放外來鍵表的資料專案的集合  

/// 

protected listitems = new list();  

/// 

/// 獲取外來鍵表資料的集合  

/// 

public

listdetaileditems  

}  /// 

/// 返回外來鍵表的資料專案數量  

/// 

public

intdetaileditemcount  

}  /// 

/// 將乙個外來鍵實體加入集合  

/// 

/// name

="item"

>

/// <

returns

>

returns

>  

public

abstract void 

add(f item);  

/// 

/// 從集合中移除乙個外來鍵實體  

/// 

/// name

="item"

>

public

abstract void remove(f item);  

/// 

/// 從集合中移除乙個外來鍵實體  

/// 

/// name

="index"

>

public

abstract void removeat(

intindex

);  

/// 

/// 返回或設定匹配索引的訂單詳細項  

/// 

/// name

="index"

>

/// <

returns

>

returns

>  

public

abstract f this[

intindex

]    

} 定義foreigndataentitybase

/// 

/// 描述主從表的從表的資料實體  

/// 

/// name

="id"

>從表實體的主鍵id

/// name

="p"

>主表

/// name

="f"

>從表

public

abstract class foreigndataentitybase: entitybase

where

p : primarydataentitybase

where

f : foreigndataentitybase

/// 

/// 按

table

的第一行資料進行屬性的初始化  

/// 

/// name

="table"

>

public

foreigndataentitybase(system.data.datatable 

table

)  : this(

table

, 0)  

/// 

/// 按

table

的指定行資料進行屬性的初始化  

/// 

/// name

="table"

>

/// name

="indexrow"

>

public

foreigndataentitybase(system.data.datatable 

table

, int

indexrow)  

: base(

table

, indexrow)  

/// 

/// 對應主鍵實體  

/// 

[system.componentmodel.dataobjectfield(

false

, false

, false

)]  

public

p relationorder  

/// 

/// 客戶委託單  

/// 

[system.componentmodel.dataobject(

true

)]  

public

class businessorder : logisticsorderbase

/// 

/// 委託單詳細  

/// 

[system.componentmodel.dataobject(

true

)]  

public

class businessorderitem : detaileditembase

現在我們的類在定義的時候,就可以非常明確的描述了主從實體的關係,並擁有了資料自動屬性裝載的能力。

介面(三)定義介面成員

第三節 定義介面成員 介面可以包含乙個和多個成員,這些成員可以是方法 屬性 索引指示器和事件,但不能是常量 域 操作符 建構函式或析構函式,而且不能包含任何靜態成員。介面定義建立新的定義空間,並且介面定義直 接包含的介面成員定義將新成員引入該定義空間。說明 1 介面的成員是從基介面繼承的成員和由介面...

CMurphi入門筆記(三) 定義

定義具有如下的語法 const type var 常量定義 常量定義中的必須有乙個在編譯的時候可以確定的值。型別定義 a previously defined type.integer subrange.enum enumeration.record end array of 注意,特殊的列舉型別 ...

三 SQL資料檢索11 不從實體表中取的資料

有時需要查詢一些不能從任何實體表中能夠取得的資料。如 將數字1作為結果集或者計算字串 abc 的長度。嘗試使用下面的sql來完成類似的功能 select 1 from t employee執行結果集 111 1111 11結果集 現了不止乙個1,因為通過這種方式得到的結果集數量取決於t employ...