栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.NET ORM 连接数据库及基本增删改查

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.NET ORM 连接数据库及基本增删改查

 一、写在前面

因为这学期选修的 .net 课程就要上机考试了,所以总结下.net 操作 SqlServer 数据的方法。(因为本人方向是 Java,所以对.net 的了解不多,但以下所写代码均是经过测试成功的)

二、.net 连接数据库

 在web.config文件中配置数据库连接,代码写在内

  
    
  

其中 sa  为 SqlServer 数据库账号,sa123456 为数据库账号密码,dataset 位数据库名。

通过上面的代码大家不难看出这是通过SqlServer数据库的账号连接的。那么如果需要通过Windows身份认证连接呢?

  
    
  

其中,dataset 为数据库名。

配置好了之后,再在cs后台文件中使用 Connection 对象连接

String constr = ConfigurationManager.AppSettings["connstring"].ToString();         
SqlConnection myconn = new SqlConnection(constr);

很明显,第一个句获取我们在 web.config 中配置的数据库的信息的字符串,然后 new 一个 SqlConnection 对象。

这个时候也许你会想,既然是获取配置文件中的字符串,那么可不可以直接在cs后台文件中写而不需要再配置文件中配置后再获取呢?答案是肯定的。

String constr = "Data Source=.;Initial Catalog=dataset;Integrated Security=True";
SqlConnection myconn = new SqlConnection(constr);

仔细对比下先前写的配置文件,就知道这两种方式的相同点了。

那么现在简单说下 Connection 对象是个什么。在 ADO.NET 中 Connection 对象的主要用途是打开和关闭数据库的连接,通过这个对象,可以对数据库进行访问和操作。

String constr = "Data Source=.;Initial Catalog=dataset;Integrated Security=True";
SqlConnection myconn = new SqlConnection(constr);
myconn.Open();
//相关数据库操作
myconn.Close();

Open 就是打开数据库,Close 就是关闭数据库。

三、.NET ORM 操作数据库 安装 sqlsuagr ORM

 创建数据库对象
//创建数据库对象 SqlSugarClient  

SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()

{

           ConnectionString = "Server=.xxxxx",//连接符字串

           DbType = DbType.SqlServer, //数据库类型

           IsAutoCloseConnection = true //不设成true要手动close

});


查所有  

List list=db.Queryable().ToList()

//select * from Student


 按条件查询  

db.Queryable().Where(it=>it.Id==1).ToList()//select * from Student where id=1


多条件查询  

db.Queryable().Where(it=>it.Id>10&&it.Name=="a").ToList()//select * from Student where id>10 and name='a'db.Queryable().Where(it=>it.Id>10).Where(it=>it.Name=="a").ToList()//select * from Student where id>10 and name='a'//如果是或者关系可以用 ||


模糊查询  

db.Queryable().Where(it =>it.Name.Contains("jack")).ToList();//select  * from  Student where name like %jack%


动态OR查询  

var exp= Expressionable.Create();

exp.OrIF(条件,it=>it.Id==1);//.OrIf 是条件成立才会拼接OR

exp.Or(it =>it.Name.Contains("jack"));//拼接OR

var list=db.Queryable().Where(exp.ToExpression()).ToList();


根据主键查询  

susgar中的single等同于EF中的SingleOrDefault

db.Queryable().InSingle(2) //通过主键查询 SingleById

db.Queryable().Single(it=>it.Id==2) //根据ID查询

//select * from Student where id=2


数据行数查前几条  

db.Queryable().Take(10).ToList()

//select top 10 * from Student


获取最小值  

db.Queryable().Min(it=>it.Id);//同步

db.Queryable().MinAsync(it=>it.Id);//异步

//也可以用函数 SqlFunc.AggregateMin


求和  

db.Queryable().Sum(it=>it.Id);//同步db.Queryable().SumAsync(it=>it.Id);//异步//也可以用函数 SqlFunc.AggregateSum

更多用法: SqlSugar ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网
  

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号