SqlSugar是一个轻量级ORM框架,专门用于.NET平台,可以简化数据库操作,提高开发效率。它支持多种数据库,包括MySQL、SqlServer、Oracle等,提供了丰富的功能和灵活的配置选项。
下面将详细介绍SqlSugar的使用方法及其相比其他ORM框架的优点。
使用NuGet包管理器安装SqlSugar。 在Visual Studio中,右击项目,选择“管理NuGet程序包”,搜索“SqlSugar”,选择安装。
配置数据库连接字符串。 在app.config或web.config文件中,添加如下配置节:
创建实体类。 创建一个类,用于映射数据库表的结构,例如:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
初始化SqlSugar对象。
using SqlSugar;
...
var connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
var db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = connectionString,
DbType = DbType.SqlServer,
IsAutoCloseConnection = true,
InitKeyType = InitKeyType.Attribute
});
增删改查操作。
// 插入数据
var user = new User { Name = "张三", Age = 20 };
var id = db.Insertable(user).ExecuteReturnIdentity();
// 更新数据
user.Age = 25;
db.Updateable(user).ExecuteCommand();
// 删除数据
db.Deleteable().Where(u => u.Id == id).ExecuteCommand();
// 查询数据
var userList = db.Queryable().ToList();
高级查询。
// 条件查询
var userList = db.Queryable().Where(u => u.Age > 18).ToList();
// 分页查询
var userList = db.Queryable().Where(u => u.Age > 18).ToPageList(1, 10, ref totalCount);
// 排序查询
var userList = db.Queryable().OrderBy(u => u.Age, OrderByType.Desc).ToList();
// 连表查询
var userList = db.Queryable((u, o) => new JoinQueryInfos(JoinType.Left, u.Id == o.UserId))
.Select((u, o) => new { u.Name, o.OrderNo })
.ToList();
事务操作。
// 开启事务
db.Ado.BeginTran();
try
{
// 执行多个操作
db.Insertable(user1).ExecuteCommand();
db.Insertable(user2).ExecuteCommand();
// 提交事务
db.Ado.CommitTran();
}
catch (Exception ex)
{
// 回滚事务
db.Ado.RollbackTran();
}
以上是对SqlSugar的详细介绍及其相比其他ORM框架的优点。通过使用SqlSugar,可以简化数据库操作,提高开发效率。希望以上内容对您有所帮助。
【示例源代码】
using System;
using System.Configuration;
using SqlSugar;
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
var connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
var db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = connectionString,
DbType = DbType.SqlServer,
IsAutoCloseConnection = true,
InitKeyType = InitKeyType.Attribute
});
var user = new User { Name = "张三", Age = 20 };
var id = db.Insertable(user).ExecuteReturnIdentity();
user.Age = 25;
db.Updateable(user).ExecuteCommand();
db.Deleteable().Where(u => u.Id == id).ExecuteCommand();
var userList = db.Queryable().ToList();
Console.WriteLine("查询结果:");
foreach (var u in userList)
{
Console.WriteLine($"Id: {u.Id}, Name: {u.Name}, Age: {u.Age}");
}
Console.ReadLine();
}
}
以上是一个简单的使用SqlSugar的示例代码。