using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
///
/// Class for demonstrating CodeFirst initialization operations
/// 用于展示 CodeFirst 初始化操作的类
///
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();
//Table structure and class are different
//表结构和类存在差异 初始化表
db.CodeFirst.InitTables();
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().InSingle(id);
//Update
//更新
db.Updateable(userInfo).ExecuteCommand();
//Delete
//删除
db.Deleteable(userInfo).ExecuteCommand();
}
///
/// User information entity class
/// 用户信息实体类
///
public class UserInfo001
{
///
/// User ID (Primary Key)
/// 用户ID(主键)
///
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
public int UserId { get; set; }
///
/// User name
/// 用户名
///
[SugarColumn(Length = 50, IsNullable = false)]
public string UserName { get; set; }
///
/// User email
/// 用户邮箱
///
[SugarColumn(IsNullable = true)]
public string Email { get; set; }
///
/// Product price
/// 产品价格
///
public decimal Price { get; set; }
///
/// User context
/// 用户内容
///
[SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
public string Context { get; set; }
///
/// User registration date
/// 用户注册日期
///
[SugarColumn(IsNullable = true)]
public DateTime? RegistrationDate { get; set; }
}
///
/// User information entity class
/// 用户信息实体类
///
[SugarTable("UserInfoAAA01")]
public class UserInfo002
{
///
/// User ID (Primary Key)
/// 用户ID(主键)
///
[SugarColumn(IsIdentity = true,ColumnName ="Id", IsPrimaryKey = true)]
public int UserId { get; set; }
///
/// User name
/// 用户名
///
[SugarColumn(Length = 50,ColumnName ="Name", IsNullable = false)]
public string UserName { get; set; }
}
}
}