处理oralce,sqlserver,access及其他常用数据库,下载和学习地址

1、web.config配置数据库连接字符串,以及数据库类型:
<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>
组件读取connectionStrings节点的配置的时候会根据providerName来判断是哪种数据库。
  • 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
2、全局声明
public class DB {     

  public static readonly DbSession Context = new DbSession("DosConn"); 
}
3、开始使用Dos.ORM
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配置和使用的更多相关文章

  1. ORM系列之一:Dos.ORM

    阅读目录 引言 1.为什么使用Dos.ORM 2.配置 3.开始使用 3.1. 物理表 3.2. 实体类 3.3. 使用方法 引言 Dos.ORM(原名Hxj.Data)于2009年发布,2015年正 ...

  2. dos.orm学习地址

    os.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内.Net用户量最多.最活跃.最完善的国产ORM.初期开发过程参考了NBear与MySo ...

  3. dos.orm

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  4. Dos.ORM - 目录、介绍

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  5. Dos.ORM使用教程

    Dos.C#.Net使用 Dos.ORM(原Hxj.Data)于2009年发布,并发布实体生成工具.在开发过程参考了多个ORM框架,特别是NBear,MySoft.EF.Dapper等.吸取了他们的一 ...

  6. Dos.ORM(原Hxj.Data)- 目录、介绍

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  7. Dos.ORM Select查询 自定义列

    自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...

  8. dos.orm的事务处理

    dos.orm也包含事务处理,没有太多封装,这里有几个简单的示例代码. using (DbTrans trans = DbSession.Default.BeginTransaction()) { D ...

  9. 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 ...

随机推荐

  1. python学习之路---day19--面向对象--约束

    约束和异常一:约束: 约束方法:(解释:就相当于在想项目中,先提前规划好框架和约定基本代码,像定义好调用的名字后,后面的名字只能用这个,用其他的 名字就会抛出异常.错误) 1:提取父类,然后再父类中定 ...

  2. 【算法笔记】B1031 查验身份证

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  3. C. Magic Ship (思维+二分)

    https://codeforces.com/contest/1117/problem/C 你是一个船长.最初你在点 (x1,y1) (显然,大海上的所有点都可以用平面直角坐标描述),你想去点 (x2 ...

  4. HDU-6341 Problem J. Let Sudoku Rotate(dfs 剪枝)

    题目:有一个4*4*4*4的数独,每一横每一竖每一个小方块中都无重复的字母,即都为0-9,A-F..有一个已经填好的数独,若干个4*4的方块被逆时针拧转了若干次,问拧转回来至少需要多少次. 分析:很明 ...

  5. [转] Kubernetes集群安装文档-v1.6版本

    [From] https://www.kubernetes.org.cn/1870.html http://jimmysong.io/kubernetes-handbook

  6. [转] Java @interface 自定义注解

    [From] http://blog.csdn.net/afterlife_qiye/article/details/53748973 1. 注解的好处 注解可以替代配置文件完成对某些功能的描述,减少 ...

  7. 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds

    [From] http://blog.csdn.net/vtopqx/article/details/8522333 闲来无事测试了下Ehcache与MemCache比较,在此发现了Ehcache中一 ...

  8. Oracle date和timestamp区别

    <转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一.date和timest ...

  9. 2019.3.20 I/O相关

    I/O 相关简介 什么是I/O? IO,即Input (输入)和Output (输出)的首字母缩写. 什么是流? 流(Stream)是抽象概念,它代表任何有能力产出数据的数据源对象或者是与能力接收数据 ...

  10. mysql远程连接详细配置

    2018-11-06 CentOS 配置MySQL允许远程登录 Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下 ...