DevExpress- XPO入門(1)

XPO(eXpress Persistent Objects)是對象和關係數據庫之間的橋樑。就是將面向對象編程所建立的對象在數據庫中做一個映射,使之和數據庫中的表建立一一對應的關係。使XPO,應用程序無需修改代碼就可以兼容多種數據庫 (MS Access, MS SQL Server, MS SQL Server CE, MS SQL Azure, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2, SQLite,Sybase) 。
以訪問SQLite數據庫爲例

步驟1- 引用

DevExpress.Xpo.v18.2.dll
System.Data.SQLite.dll (如果是其他數據庫,則引用其他的庫)

步驟2 -創建實體對象

 class WorkPiece :XPObject
    {
        public string FirstName;
        public string LastName;
        public WorkPiece(Session session) : base(session) { }
    }

說明:

  • XPO使用Session表示一個數據庫的連接

步驟3- 連接數據庫

 var ConnectionString = "XpoProvider=SQLite;Data Source=system.db3";
 XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString,AutoCreateOption.DatabaseAndSchema);

說明:

  • XpoDefault是一個全局設置,後面的數據訪問默認都會使用這個全局(底層對應數據提供者的會話)
  • GetDataLayer方法可以根據連接字符連接到特定的數據庫
  • GetDataLayer方法第2個參數可以用來自動創建數據庫或表
  • 連接字符串也可以使用 SQLiteConnectionProvider.GetConnectionString(“system.db3”)獲取。不同的數據庫都有對應的ConnectionProvider,例如MSSqlConnectionProvider ,PostgreSqlConnectionProvider

步驟4- 實現對象的CRUD

增加

            WorkPiece p=new WorkPiece(XpoDefault.Session);
            p.FirstName = "guo";
            p.LastName="wushi";
            p.Save();
  • 使用默認的連接(Xpo.Session)完成操作。
  • 每個對象都會自動增加一個OID字段作爲主鍵。

刪除

contact.delete();

修改

和新增代碼一樣,但一個對象的OID(唯一標記)一樣,則表示的是修改。

查找

string queryString = "原生SQL語句";
public SelectedData GetEmployeesSimpleData() {
    return session.ExecuteQuery(queryString);
}
  • SelectedData類表示查詢的結果集
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章