程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 數據庫組件 Hxj.Data (三)(查詢操作篇)

數據庫組件 Hxj.Data (三)(查詢操作篇)

編輯:關於ASP.NET

Hxj.Data使用入口在Hxj.Data.DbSession,DbSession類封裝常用的操作,比如: From<T>,Insert<T>,Update<T>,Delete<T>等常用方法。

DbSession.Default是一個默認的DbSession。在默認情況下會自動讀取web.config/app.config配置文件中connectionStrings節點的最後一 個配置。

可以通過條用DbSession的SetDefault方法來修改這個Default。

不同的數據庫可構造不同的DbSession,如:

DbSession dbSessionDefault = new DbSession("NorthwindConnectionString");
DbSession dbSessionDefault2 = new DbSession(DatabaseType.SqlServer, "Data Source=ricci\hu;Initial  Catalog=Northwind;Integrated Security=True");
("NorthwindConnectionString”是connectionStrings節點的name)

確定好需要使用的DbSession後,就可以配合實體工具生成的實體類開始數據庫操作了。

下面例子使用DbSession.Default,以及Northwind數據庫。

From<T>()的方法使用,這個是查詢操作。

查詢Products表中第一條數據並返回實體,代碼如下。

Products product = DbSession.Default.From<Products>().ToFirst();

接下來我們來加個條件。

List<Products> products= DbSession.Default.From<Products>().Where(Products._.CategoryID == 2).ToList ();

當然也可以ToDataTable()返回DataTable,

ToDataSet()返回DataSet,

ToDataReader()返回IDataReader。

其實DbSession.Default.From<Products>()就是構造一個FromSection<Products>,也就是查詢的條件,查詢的字段,排序,分 頁等都是FromSection提供的。

示例:

DbSession.Default.From<Products>()
         //.Select(Products._.ProductID) //查詢返回ProductID字段
         //.GroupBy(Products._.CategoryID.GroupBy && Products._.ProductName.GroupBy)//按照CategoryID, ProductName分組
         //.InnerJoin<Suppliers>(Suppliers._.SupplierID == Products._.SupplierID)//關聯Suppliers表  -- CrossJoin   FullJoin  LeftJoin  RightJoin 同理
         //.OrderBy(Products._.ProductID.Asc)//按照ProductID正序排序
         //.Where((Products._.ProductName.Contain("apple") && Products._.UnitPrice > 1) ||  Products._.CategoryID == 2)//設置條件ProductName包含”apple”並且UnitPrice>1 或者CategoryID =2
         //.UnionAll(DbSession.Default.From<Products>().Select(Products._.ProductID))//union all查詢
         //.Distinct() // Distinct
         //.Top(5)  //讀取前5條
         //.Page(10, 2)//分頁返回結果 每頁10條返回第2頁數據
         //.ToDataSet();  //返回DataSet
         //.ToDataReader(); //返回IDataReader
         //.ToDataTable(); //返回DataTable
         //.ToScalar(); //返回單個值
         .ToList();  //返回實體列表

看方法後面的注釋也差不多都應該明白了吧。

普通的查詢都可以構造出來了,當然太復雜的報表還是手寫sql或者存儲過程等去實現吧。

下一節講Insert<T>方法的使用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved