get
set }}
通過自定義attribute,我們定義了類屬性和資料庫欄位的一一對應關係,於是對mystudent 類的name、age 屬性都加上attribute 的描述,指定他們對應的資料庫欄位名以及型別。
**更改如下:
public class mystudent
set
}private int _age;
[datafieldattribute("sage", "int")]
public int age
set }}
(三)orm 對映規則的定義
給實體類增加datafieldattribute 的描述,其實就是增加了o(物件)/ r(關聯式資料庫)的對映規則。
static void main(string args)
}}顯示結果:
實體類的屬性名:name -> 資料庫欄位名:sname
實體類的屬性名:age -> 資料庫欄位名:sage
接下來的工作就是:怎樣根據這種方法動態地從物件中獲取對映規則,然後動態構造insert、update、delete 等 sql 語句。這就是實現自己的orm 的原理。
這裡的**僅僅是舉例,而要真正實現乙個orm,我們還需要考慮的很多,比如:
1、實體類對應於哪張資料庫表?
2、資料庫表中的 pk 和 fk(如果有的話)怎麼表示?
c 資料對映實體
region datareader向實體對映 datareader轉泛型 傳入的實體類 datareader物件 public static ilistreadertolist this idatareader objreader list.add model return list 對可空型別進行...
資料物件對映模式
定義 將物件和資料儲存對映起來,對乙個物件的操作會對映為資料儲存的操作綜合應用例項 在 中實現資料物件對映模式,我們將實現乙個orm類,將複雜的sql語句對映成物件屬性的操作,結合使用資料物件對映模式,工程模式,註冊模式 page new page page index class page fun...
7 資料物件對映模式
比如,new 乙個物件,然後設定一些屬性,就和資料庫中表的一條記錄對應起來。建立表 create table user id int 11 primary key auto increment,name varchar 32 not null,mobile varchar 11 not null,r...