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");("NorthwindConnectionString”是connectionStrings节点的name)
DbSession dbSessionDefault2 = new DbSession(DatabaseType.SqlServer, "Data Source=ricci\hu;Initial Catalog=Northwind;Integrated Security=True");
Products product = DbSession.Default.From<Products>().ToFirst();
List<Products> products= DbSession.Default.From<Products>().Where(Products._.CategoryID == 2).ToList();
其实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(); //返回实体列表
下一节讲Insert<T>方法的使用。
出处:http://www.cnblogs.com/huxj
MSN: cn_huxj@hotmail.com
交流QQ群:60831381
版权声明:欢迎任何网络媒体和网站转载本人博客的内容,只需注明作者和主博客文章地址的链接。另有约定者除外。
此声明随时可能修改,不另行通知。