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

本文详细介绍了如何在.NET中连接和操作SQL Server数据库,包括通过web.config配置文件设置连接字符串,使用Windows身份验证,以及进行ORM操作。示例代码演示了SqlConnection对象的使用,如打开和关闭数据库连接,以及使用SqlSugarORM进行数据查询、筛选和聚合操作。
摘要由CSDN通过智能技术生成

 一、写在前面

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

二、.net 连接数据库

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

  <appSettings>
    <add key="connstring" value="user id=sa; password=sa123456; database=dataset; server=(local)" />
  </appSettings>

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

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

  <appSettings>
    <add key="connstring" value="Data Source=.;Initial Catalog=dataset;Integrated Security=True"/>
  </appSettings>

其中,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<Student> list=db.Queryable<Student>().ToList()

//select * from Student


 按条件查询  

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


多条件查询  

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


模糊查询  

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


动态OR查询  

var exp= Expressionable.Create<Student>();

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

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

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


根据主键查询  

susgar中的single等同于EF中的SingleOrDefault

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

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

//select * from Student where id=2


数据行数查前几条  

db.Queryable<Student>().Take(10).ToList()

//select top 10 * from Student


获取最小值  

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

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

//也可以用函数 SqlFunc.AggregateMin


求和  

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值