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 ...
随机推荐
- web前端基础
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...
- 基于 Pymsql 数据库连接池
helper.py import pymysql from settings import Config def connect(): conn = Config.POOL.connection() ...
- webpack 4.0 安装出现的小问题 (One CLI for webpack must be installed)
安装的webpack版本是4.11.0,运行命令npm start 提示:One CLI for webpack must be installed. These are recommended ch ...
- CodeChef - NWAYS 组合数 朱世杰恒等式
这道题目数据有坑,白浪费一个小时! 题意:求\(\sum_{i=1}^n\sum_{j=1}^n{|i-j|+k \choose k}\) 知识点: 朱世杰恒等式,\(\sum_{i=r}^n{i \ ...
- PIE SDK与Matlab结合说明文档
1.功能简介 Matlab是三大数学软件之一,它在数学类科技应用软件中在数值计算方面首屈一指.Matlab可以进行矩阵运算.绘制函数和数据.实现算法.创建用户界面.连接其他编程语言的程序等,主要应用于 ...
- windows同时安装python2和python3两个版本
1.安装python2 下载地址: https://www.python.org/downloads/windows/ 进入页面,下拉,64位系统要选择这个. 下载完成后,一直点击下一步,直到安装完毕 ...
- Percona Mysql备份
介绍 Percona是唯一一款开源.免费的mysql热备份工具,实现了对InnoDB数据库的非阻塞式的备份.有如下优势:1.完整.快速.可靠的备份2.备份期间不打断事务执行(innodb引擎)3.备份 ...
- AutoFac之 Named and Keyed 方式注入
AutoFac是.net framework下一个高效的ioc容器,传说中的效率最快(我偷偷看了几篇测试博文,确实这个容器的效率遥遥领先). 好了废话不多说,AutoFac的使用方式请看:http:/ ...
- Java面试题03-访问权限控制
Java面试题03-访问权限控制 1. Java中的包主要是为了防止类文件命名冲突以及方便进行代码组织和管理,因此采用域名倒置的方式来进行命名: 2. Java解释器的运行过程:首先找到环境变量CLA ...
- 深入理解jQuery插件开发【转】
如果你看到这篇文章,我确信你毫无疑问会认为jQuery是一个使用简便的库.jQuery可能使用起来很简单,但是它仍然有一些奇怪的地方,对它基本功能和概念不熟悉的人可能会难以掌握.但是不用担心,我下面已 ...