PS:一些小小的見解,不做之處,還望朋友們多多指導。
數(shù)據(jù)持久化值得是數(shù)據(jù)存儲方式,在.net中可以利用、對象保存用戶登錄狀態(tài),對象配置應用程序。
這篇文章主要講解數(shù)據(jù)的本地存儲方案。
類操作講解 以xml文件保存數(shù)據(jù) 基于輕量級數(shù)據(jù)庫保存數(shù)據(jù) 基于數(shù)據(jù)庫保存數(shù)據(jù) 基于數(shù)據(jù)庫保存
1.在講解數(shù)據(jù)保存方案前簡述一下.net中類,類基本上是內(nèi)存中的數(shù)據(jù)庫,其中包含了所有表、關系和約束。數(shù)據(jù)表()非常類似于物理數(shù)據(jù)庫表,它由一組包含特定屬性的列組成,可能包含0行或多行數(shù)據(jù)。每個數(shù)據(jù)表中包含數(shù)據(jù)列()和數(shù)據(jù)行()數(shù)據(jù)庫持久化什么意思,以數(shù)據(jù)庫表做例講解。
我們拿數(shù)據(jù)庫與類做下類比以更直觀的顯示:
數(shù)據(jù)庫
|—表 |—
|—行 |—
|—列 |—
ADO.NET技術
(硬盤)(內(nèi)存)
創(chuàng)建一個名為數(shù)據(jù)集,里面有一個數(shù)據(jù)表,添加Name、Path列,并設置Name列為主鍵。
DataSet ds = newDataSet("MusicDS"); DataTabledt = newDataTable("MusicDT");//創(chuàng)建表 //dt.Columns.Add(new DataColumn("ID", typeof(int)));//添加列指定數(shù)據(jù)類型 dt.Columns.Add(newDataColumn("Name", typeof(string)));//添加列 dt.Columns.Add(newDataColumn("Path", typeof(string)));//添加列 DataColumn[] pk = newDataColumn[] { dt.Columns["Name"] };//創(chuàng)建主鍵數(shù)組 dt.Constraints.Add(newUniqueConstraint("PK_MusicList", pk[0]));//添加約束集合指定名稱和實例 dt.PrimaryKey = pk;//添加主鍵數(shù)組 ds.Tables.Add(dt);//添加到數(shù)據(jù)集
在數(shù)據(jù)集中添加數(shù)據(jù):
ds.Tables["MusicDT"].Rows.Add(names[i], paths[i]);//參數(shù)對象類型和個數(shù)對應數(shù)據(jù)表中列的類型和個數(shù)。
2.在建立好對象后調(diào)用方法(),將內(nèi)存中的數(shù)據(jù)以xml文件的形式存放到硬盤。
ds.WriteXml(".\\info\\list.xml", XmlWriteMode.WriteSchema);
方法的第一個參數(shù)是文件存放地址,第二個對象是指定如何存儲。
ds.ReadXml(".\\info\\list.xml", XmlReadMode.ReadSchema);
讀取xml文件到對象調(diào)用相應方法。
3.基于數(shù)據(jù)庫的本地存儲方案適應于小型應用程序的用戶信息存儲,相比于其它數(shù)據(jù)庫存儲方案優(yōu)點是不用在應用環(huán)境下安裝支持文件,占用內(nèi)存小等優(yōu)點。缺點是讀寫速度相比于其它大型數(shù)據(jù)庫慢,所以適應于小型應用程序的用戶信息存儲,另外安全性方面要明顯優(yōu)于XML文件。
在開發(fā)過程中需要使用.Data.命名空間下的方法
的數(shù)據(jù)庫支持會背系統(tǒng)復制到程序文件夾數(shù)據(jù)庫持久化什么意思,所以在應用程序安裝后不用安裝特定的數(shù)據(jù)庫支持程序。
使用方式是需要到其官方網(wǎng)站下載支持程序和視圖開發(fā)工具,官網(wǎng)上也有基于數(shù)據(jù)庫開發(fā)的例子。
還有就是目前好像只支持.NET2.0下的開發(fā)。
4.基于數(shù)據(jù)庫開發(fā)的應用程序在安裝后需要微軟的程序支持。
優(yōu)點是訪問速度快,占用內(nèi)存低,缺點是當文件信息量大了后訪問速度會降低,支持數(shù)據(jù)量有限制。適合C/S模式的小型管理系統(tǒng)開發(fā)。
在開發(fā)過程中需要使用.Data.OleDb命名空間下的方法
5.基于數(shù)據(jù)庫開發(fā)的用用程序需要相應版本的數(shù)據(jù)庫支持。低版本開發(fā)額數(shù)據(jù)庫文件會自動升級到數(shù)據(jù)庫支持運行的版本,從高級降到低級版本需要手動修改一些配置,詳細過程這里不再闡述。
有點是訪問速度快,運行安全可靠,缺點是相比于之前講述的幾種方案對機器要求高。
適用于B/S模式開發(fā)的中小型應用程序。
同級別的數(shù)據(jù)庫有MySql、 等……
總述:基于xml、、、SQL 的數(shù)據(jù)持久化方案均可在.net下與對象進行數(shù)據(jù)交換。