mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-04 04:37:58 +08:00
158 lines
4.8 KiB
C#
158 lines
4.8 KiB
C#
using SqlSugar;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace OrmTest
|
||
{
|
||
/// <summary>
|
||
/// Class for demonstrating CodeFirst initialization operations
|
||
/// 用于展示 CodeFirst 初始化操作的类
|
||
/// </summary>
|
||
public class Demo
|
||
{
|
||
|
||
public static void Init()
|
||
{
|
||
|
||
//创建DB
|
||
var db = new SqlSugarClient(new ConnectionConfig()
|
||
{
|
||
IsAutoCloseConnection = true,
|
||
DbType = DbType.Custom,//DbType使用Custom
|
||
ConnectionString = "DataSource = train_services.db",
|
||
LanguageType = LanguageType.Default//Set language
|
||
|
||
},
|
||
it =>
|
||
{
|
||
// Logging SQL statements and parameters before execution
|
||
// 在执行前记录 SQL 语句和参数
|
||
it.Aop.OnLogExecuting = (sql, para) =>
|
||
{
|
||
Console.WriteLine(UtilMethods.GetNativeSql(sql, para));
|
||
};
|
||
});
|
||
|
||
// Create the database if it doesn't exist
|
||
// 如果数据库不存在,则创建数据库
|
||
db.DbMaintenance.CreateDatabase();
|
||
|
||
var xx=db.DbMaintenance.IsAnyTable("UserInfo001", false);
|
||
var yy = db.DbMaintenance.GetColumnInfosByTableName("UserInfo001", false);
|
||
foreach (var item in yy)
|
||
{
|
||
Console.WriteLine($"{item.DbColumnName} {item.DataType} IsIdentity:{item.IsIdentity} IsPrimarykey:{item.IsPrimarykey} IsNullable:{item.IsNullable} ");
|
||
}
|
||
// Initialize tables based on UserInfo001 entity class
|
||
// 根据 UserInfo001 实体类初始化表
|
||
db.CodeFirst.InitTables<UserInfo001>();
|
||
|
||
//Table structure and class are different
|
||
//表结构和类存在差异 初始化表
|
||
db.CodeFirst.InitTables<UserInfo002>();
|
||
|
||
var dt=db.Ado.GetDataTable("select @id as id", new { id = 1 });
|
||
|
||
//Insert
|
||
//插入
|
||
var id=db.Insertable(new UserInfo001()
|
||
{
|
||
Context = "Context",
|
||
Email="dfafa@qq.com",
|
||
Price=Convert.ToDecimal(1.1),
|
||
UserName="admin",
|
||
RegistrationDate=DateTime.Now,
|
||
|
||
}).ExecuteReturnIdentity();
|
||
|
||
//Query
|
||
//查询
|
||
var userInfo=db.Queryable<UserInfo001>().InSingle(id);
|
||
|
||
//Update
|
||
//更新
|
||
db.Updateable(userInfo).ExecuteCommand();
|
||
|
||
//Delete
|
||
//删除
|
||
db.Deleteable(userInfo).ExecuteCommand();
|
||
}
|
||
|
||
/// <summary>
|
||
/// User information entity class
|
||
/// 用户信息实体类
|
||
/// </summary>
|
||
public class UserInfo001
|
||
{
|
||
/// <summary>
|
||
/// User ID (Primary Key)
|
||
/// 用户ID(主键)
|
||
/// </summary>
|
||
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
|
||
public int UserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// User name
|
||
/// 用户名
|
||
/// </summary>
|
||
[SugarColumn(Length = 50, IsNullable = false)]
|
||
public string UserName { get; set; }
|
||
|
||
/// <summary>
|
||
/// User email
|
||
/// 用户邮箱
|
||
/// </summary>
|
||
[SugarColumn(IsNullable = true)]
|
||
public string Email { get; set; }
|
||
|
||
|
||
/// <summary>
|
||
/// Product price
|
||
/// 产品价格
|
||
/// </summary>
|
||
public decimal Price { get; set; }
|
||
|
||
/// <summary>
|
||
/// User context
|
||
/// 用户内容
|
||
/// </summary>
|
||
[SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
|
||
public string Context { get; set; }
|
||
|
||
/// <summary>
|
||
/// User registration date
|
||
/// 用户注册日期
|
||
/// </summary>
|
||
[SugarColumn(IsNullable = true)]
|
||
public DateTime? RegistrationDate { get; set; }
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// User information entity class
|
||
/// 用户信息实体类
|
||
/// </summary>
|
||
[SugarTable("UserInfoAAA01")]
|
||
public class UserInfo002
|
||
{
|
||
/// <summary>
|
||
/// User ID (Primary Key)
|
||
/// 用户ID(主键)
|
||
/// </summary>
|
||
[SugarColumn(IsIdentity = true,ColumnName ="Id", IsPrimaryKey = true)]
|
||
public int UserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// User name
|
||
/// 用户名
|
||
/// </summary>
|
||
[SugarColumn(Length = 50,ColumnName ="Name", IsNullable = false)]
|
||
public string UserName { get; set; }
|
||
|
||
|
||
}
|
||
}
|
||
} |