.NET5 SqlSugar 创建数据库表

SqlSugar是一款 老牌 .NET 开源ORM框架,.NET中唯一支持自动分表大数据处理的ORM。官网:https://www.donet5.com/Home/Doc

1、添加SqlSugarCore的NuGet包

2、建立实体

新建数据库实体,这里以用户表为例:

public class Users
{
    /// <summary>
    /// ID
    /// </summary>
    [SugarColumn(IsIdentity = true, IsPrimaryKey = true)]//是否为主键,是否自增
    public int Id { get; set; }
    /// <summary>
    /// 用户名
    /// </summary>
    [SugarColumn(ColumnDataType = "varchar(64)")]//对于字符型字段,要指定数据类型
    public string UserName { get; set; }
    /// <summary>
    /// 昵称
    /// </summary>
    [SugarColumn(ColumnDataType = "varchar(128)")]
    public string NickName { get; set; }
    /// <summary>
    /// 手机号
    /// </summary>
    [SugarColumn(ColumnDataType = "varchar(32)")]
    public string Phone { get; set; }
    /// <summary>
    /// 邮箱
    /// </summary>
    [SugarColumn(ColumnDataType = "varchar(64)")]
    public string Email { get; set; }
    /// <summary>
    /// OpenId
    /// </summary>
    [SugarColumn(ColumnDataType = "varchar(32)")]
    public string OpenId { get; set; }
    /// <summary>
    /// 数据提交时间
    /// </summary>
    [SugarColumn(IsOnlyIgnoreUpdate = true)]//在Update的时候忽略该字段
    public DateTime PostTime { get; set; } = DateTime.Now;
}
3、注入SqlSugar

appsettings.json中:配置连接字符串

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "SqlConn": "server=127.0.0.1;port=3306;user=YourUserName;password=YourPassword;database=YourDataBase;"
}

Startup.cs类中:

 public void ConfigureServices(IServiceCollection services)
 {
     services.AddControllersWithViews();
     #region SqlSugarIOC
         services.AddSqlSugar(new IocConfig()
		 {
				 ConnectionString = this.Configuration["SqlConn"],
				 DbType = IocDbType.MySql,
				 IsAutoCloseConnection = true,
		 });
     #endregion
 }
4、创建表
/// <summary>
/// 创建数据库表
/// </summary>
public void CreateTable()
{
    // 创建数据库
    base.Context.DbMaintenance.CreateDatabase();
    // 创建表
    base.Context.CodeFirst.InitTables(
        //创建的四个表
        typeof(Models.Users),
        typeof(Models.SearchEngines),
        typeof(Models.SearchLogs),
        typeof(Models.UrlTags)
    );
}

来源:https://www.blackvon.cn/#/detail?id=125&uid=1

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
SqlSugar是一个基于.NET的ORM框架,它简化了在.NET应用程序中与SQL Server数据库交互的操作。在.NET 7中,使用SqlSugar进行查询通常涉及以下几个步骤: 1. **创建上下文**:首先,你需要创建一个`ISqlSugar`或其子类(如`DbTable<T>`)的实例,这通常对应于数据库中的某个。 ```csharp using SqlSugar; var db = new\DbTable<User>(new Config()); ``` 2. **执行查询方法**:你可以使用链式调用来编写查询,例如获取所有用户: ```csharp var users = db.Select<User>() .Where(u => u.Id > 0) .ToList(); ``` - `.Select<T>()`: 定义要返回的结果类型和列选择。 - `.Where(Predicate<T>)`: 根据条件筛选数据。 - `.ToList()`: 或者其他查询操作,比如`.Count()`、`.First()`等,最后将结果转换为集合。 3. **动态查询**:SqlSugar支持Linq语法和字符串拼接的混合查询,例如根据传入参数动态构建SQL: ```csharp string name = "John"; var user = db.Queryable<User>() .Where("Name like @name", new { name = $"%{name}%" }) .FirstOrDefault(); ``` 4. **分页查询**:如果你需要分页,可以用`.Page`方法: ```csharp var pageResult = db.Queryable<User>() .Page(1, 10) // 第一页,每页10条 .OrderBy(u => u.Id) // 排序 .Take(20) // 取前20条 .ToList(); ``` 5. **事务处理**:对于复杂的操作,可以使用事务管理: ```csharp using (db.BeginScope()) { try { User newUser = new User { Name = "NewUser" }; db.Insert(newUser); // 更多数据库操作... db.Commit(); // 成功则提交事务 } catch (Exception ex) { db.Rollback(); // 异常则回滚事务 } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值