dos.ORM配置和使用
处理oralce,sqlserver,access及其他常用数据库,下载和学习地址
<connectionStrings>
<!--MySql-->
<add name="DosConn" providerName="Dos.ORM.MySql" connectionString="Data Source=127.0.0.1;Database=DBName;User Id=root;Password=root;" /> //未检验
<!--SqlServer-->
<add name="DosConn" providerName="Dos.ORM.SqlServer9" connectionString="server=127.0.0.1;database=DBName;uid=root;pwd=root;" /> //检验可以
<!--SqlServer--> <add name="DosOracle" providerName="Dos.ORM.Oracle" connectionString="User ID=AQPU;Password=AQPU;Data Source=orcl;Max Pool Size=512"/> //经检验可以
</connectionStrings>
- Sql server 2000:Dos.ORM.SqlServer
- Sql server 2005/2008及以上:Dos.ORM.SqlServer9
- MS Access:Dos.ORM.MsAccess
- Sqlite:Dos.ORM.Sqlite
- Oracle:Dos.ORM.Oracle
- MySql:Dos.ORM.MySql
public class DB { public static readonly DbSession Context = new DbSession("DosConn");
}
var list = DB.Context.From<Dos.Model.TableName>().ToList();
4、使用示例
全局配置:
public class DB
{
public static readonly DbSession Context = new DbSession("DosConn");
}
查询示例(Lambda表达式写法):
DB.Context.From<Dos.Model.TableName>()
.Select(d => new { d.ID, d.Price }) //select ID,Price from TableName
.Where(d => (d.ID == && d.Name != "itdos"
&& d.Name.In("com","net","cn") && )
|| d.Sex != null)
// where (id=2 and Name<>'itdos' and Name in('com','net','cn')) or Sex is not null
.GroupBy(d => new { d.Name, d.Sex }) //group by Name,Sex
.OrderBy(d => new { d.CreateTime, d.Name }) //order by CreateTime,Name
.Having(d => d.Name != '') //having Name<>''
.Top()
.Page(, ) //分页返回结果 每页10条返回第2页数据
.ToList(); //返回实体列表
//.ToFirst(); //返回第一个实体
//.ToFirstDefault(); //返回第一个实体,如果为null,则默认实例化一个
//.ToDataSet(); //返回DataSet
//.ToDataReader(); //返回IDataReader
//.ToDataTable(); //返回DataTable
//.ToScalar(); //返回单个值
插入示例:
//单个实体插入
var newModel = new Dos.Model.TableName(){
ID = Guid.NewGuid(),
Name = "ITdos.com"
};
var count1 = DB.Context.Insert<Dos.Model.TableName>(newModel);
//批量插入
var newList = new List<Dos.Model.TableName>();
newList.Add(new Dos.Model.TableName(){
ID = Guid.NewGuid(),
Name = "ITdos.com"
});
var count2 = DB.Context.Insert<Dos.Model.TableName>(newList);
删除示例:
var count1 = DB.Context.Delete<Dos.Model.TableName>(d => d.ID == );
修改示例:
var uptModel = DB.Context.From<Dos.Model.TableName>().Where(d => d.ID == ).ToFirst();
uptModel.Attach();
uptModel.Name = "ITdos.net";
var count1 = DB.Context.Update<Dos.Model.TableName>(uptModel);
dos.ORM配置和使用的更多相关文章
- ORM系列之一:Dos.ORM
阅读目录 引言 1.为什么使用Dos.ORM 2.配置 3.开始使用 3.1. 物理表 3.2. 实体类 3.3. 使用方法 引言 Dos.ORM(原名Hxj.Data)于2009年发布,2015年正 ...
- dos.orm学习地址
os.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内.Net用户量最多.最活跃.最完善的国产ORM.初期开发过程参考了NBear与MySo ...
- dos.orm
引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...
- Dos.ORM - 目录、介绍
引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...
- Dos.ORM使用教程
Dos.C#.Net使用 Dos.ORM(原Hxj.Data)于2009年发布,并发布实体生成工具.在开发过程参考了多个ORM框架,特别是NBear,MySoft.EF.Dapper等.吸取了他们的一 ...
- Dos.ORM(原Hxj.Data)- 目录、介绍
引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...
- Dos.ORM Select查询 自定义列
自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...
- dos.orm的事务处理
dos.orm也包含事务处理,没有太多封装,这里有几个简单的示例代码. using (DbTrans trans = DbSession.Default.BeginTransaction()) { D ...
- Dos.ORM logo.Net轻量级开源ORM框架 Dos.ORM
http://www.oschina.net/p/dos-orm http://www.oschina.net/project/lang/194/csharp http://www.cnblogs.c ...
随机推荐
- [JLOI2015]管道连接(斯坦纳树)
[Luogu3264] 原题解 多个频道,每个频道的关键点要求相互联通 详见代码,非常巧妙 #include<cstdio> #include<iostream> #inclu ...
- CF914E Palindromes in a Tree(点分治)
题面 洛谷 CF 题解 题意:给你一颗 n 个顶点的树(连通无环图).顶点从 1 到 n 编号,并且每个顶点对应一个在'a'到't'的字母. 树上的一条路径是回文是指至少有一个对应字母的排列为回文. ...
- python 并发之多进程实现
一.multipricessing模块的介绍 python中的多线程无法利用多核优势,如果想要充分的使用多核CPU资源,在python中大部分情况下需要用多线程,python提供了multiproce ...
- 116th LeetCode Weekly Contest Maximum Width Ramp
Given an array A of integers, a ramp is a tuple (i, j) for which i < j and A[i] <= A[j]. The ...
- 计算机插U盘没用了
今天遇到一个神奇的状况,我想把台机上面的文件通过U盘拷贝到我的笔记本上.文件拷到U盘上没问题,然后把U盘插到笔记本上,一点反应都没有.我想了下,这U盘肯定没坏.然后我笔记本又是新买没多久,一直爱护有加 ...
- Win10磁盘利用率高达100%设置修改方法
Win10磁盘利用率高达100%设置修改方法 Windows Defender关闭 Win10的Windows Defender已经变身成为安全中心,它的运行机制改成了即便是电脑中存在多个杀毒.防护软 ...
- 基于云计算的IaaS、PaaS、SaaS三种服务模式的区别
Infrastructure-as-a-Service(IaaS) - 基础即设施服务 基础设施主要包括网络系统(networking).存储设备(storage).服务器(servers).虚拟化技 ...
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本
Android Runtime使得直接调用底层Linux下的可执行程序或脚本成为可能 比如Linux下写个测试工具,直接编译后apk中通过Runtime来调用 或者写个脚本,apk中直接调用,省去中间 ...
- pinyin4j的基本使用
PinYin4jUtils工具类代码:http://www.cnblogs.com/jepson6669/p/8856082.html maven中引入依赖 <!-- 引入pinyin4J的依赖 ...
- c#委托、泛型、反射的使用情况
委托:当你传递的参数不是 变量 时,想把一个方法作为参数传递,此时委托就可以做到这点 泛型:当你传递的参数是一个类时,此时用泛型 反射:都说反射是一种耗时的操作,但是却很有用,所以反射他不是拿来滥用的 ...