国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Websharp使用說明(2)

2024-07-21 02:17:17
字體:
來源:轉載
供稿:網友
數據實體的表示

websharp在數據的表現上,能夠采用兩種方式。

第一種方式,充分利用了.net framework類庫中dataset的功能,設計了一個entitydata類。這個類繼承了dataset,并增加了一些屬性和方法。同數據庫的映射關系,采用xml配置文件的方式。xml配置文件可以通過我們提供的工具來生成。

在實際的應用中,要獲取一個product實體對象,可以通過如下方式取得:

entitydata product=entityprotypemanager. getemptyentity(“product”);

然后,可以通過如下方式來訪問這個對象的屬性:

string productid=customer[“productid”]

可以看到,這種方式同純粹的面向對象的方式有點不同。在這種方式下,數據的表現形式只有一個,那就是entitydata。其好處是明顯的,不用為每個實體都單獨編寫一個類,能夠大大減少代碼的編寫量。其缺點也很明顯,那就是不能利用編譯器類型檢測的功能,如果在調用對象的屬性的時候,寫錯了屬性的名稱,就可能出錯,但是,這個問題可以通過工具來解決。這種方式,比較符合原來使用ado編程人員的習慣。



第二種方式,我們可以編寫一個product類,然后,按照標準的oo的方法來使用這個類。只不過,在編寫product類的時候,必須實現persistencecapable接口,并且,同時可以使用到entitydata類的強大功能。

persistencecapable類的定義見 附1:websharp主要接口定義——persistencecapable



一個按照這個標準實現的product類的示例如下:

public class product : persistencecapable

{

private entitydata product;

public product() : this(true)

{}



public product(bool autoinit)

{

product=entityprototypemanager.getemptyentity("product");

if(autoinit)

product.newrecord();

}

public string productid

{

get{return product.getstring("productid");}

set{product["productid"]=value;}

}



public string name

{

get{return product.getstring("name");}

set{product["name"]=value;}

}



public string unitname

{

get{return product.getstring("unitname");}

set{product["unitname"]=value;}

}



public string description

{

get{return product.getstring("description");}

set{product["description"]=value;}

}



public decimal price

{

get{return product.getdecimal("price");}

set{product["price"]=value;}

}



public decimal currentcount

{

get{return product.getdecimal("currentcount");}

set{product["currentcount"]=value;}

}



public int objectcount

{

get

{

return product.entitycount;

}

}



public entitydata entitydata

{

get

{

return product;

}

set

{

product=value;

}

}



public bool next()

{

return product.next();

}



public void first()

{

product.first();

}

public void addnew()

{

product.newrecord();

}

}




可以看出,采用這種方式,product類既可以代表一個單個的product對象,也可以包含一個product對象集合,并且可以通過next和first方法來遍歷。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 固安县| 赫章县| 波密县| 沁水县| 长宁县| 金堂县| 玉山县| 兴化市| 维西| 墨脱县| 松原市| 子洲县| 宁陵县| 军事| 云浮市| 二连浩特市| 彰化市| 古浪县| 盖州市| 定安县| 获嘉县| 昆明市| 高碑店市| 淮滨县| 平乐县| 邢台市| 即墨市| 上蔡县| 淮阳县| 石首市| 伊春市| 双峰县| 陆川县| 虎林市| 灵宝市| 温宿县| 集贤县| 蕉岭县| 潞西市| 交口县| 永安市|