2025-03-10 16:52:05 +08:00
|
|
|
|
using SqlSugar;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace DB2CoreTest.CURD
|
|
|
|
|
{
|
|
|
|
|
public class CodeFirst
|
|
|
|
|
{
|
|
|
|
|
public static void Init()
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
// 如果数据库不存在,则创建数据库
|
|
|
|
|
//db.DbMaintenance.CreateDatabase();
|
|
|
|
|
|
|
|
|
|
//实体类初始化表
|
|
|
|
|
db.CodeFirst.InitTables<UserInfo>();
|
|
|
|
|
|
|
|
|
|
//实体类初始化表
|
|
|
|
|
db.CodeFirst.InitTables<UserLogins>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Insertable()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//插入用户
|
2025-04-17 17:08:57 +08:00
|
|
|
|
var userIdLarget = db.Insertable(new UserInfo()
|
2025-03-25 16:56:02 +08:00
|
|
|
|
{
|
2025-04-17 17:08:57 +08:00
|
|
|
|
Context = "('659402024907500485','Request','溯源系统','','{\"Code\":\"0\",\"Message\":null,\"Msg\":\"OK\",\"Data\":\"{\\\"errorMessages\\\":[{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F260000001\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100294\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F260000002\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100138\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F260000003\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100289\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F260000004\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100114\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F260000005\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100199\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000001\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100191\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000002\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100218\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000004\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100198\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000005\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100043\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000006\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100029\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000007\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100391\\\",\\\"topId\\\":null},{\\\"code\\\":null,\\\"id\\\":\\\"0CXPE100000052F2A0000008\\\",\\\"message\\\":\\\"电池模块编码生产重复 001MEBPC00000DF130100019\\\",\\\"topId\\\":null}],\\\"num\\\":0,\\\"result\\\":\\\"总数:12\\\\t成功数:0\\\\t失败数:12\\\"}\"}','2025-02-13 00:48:15.66','TKS00110800113','4a96d859-9d9d-4732-827b-3a042e19892a','IPU装配数据绑定','WebAPI','http://10.110.73.31:8080/bitnei/v1.0/battery/vehicle/receiveBatteryProduce','[{\"code\":\"0CXPE100000052F260000001\",\"moduleList\":[{\"code\":\"001MEBPC00000DF130100294\",\"cellList\":[\"001CEKR000000DECM0307187\",\"001CEKR000000DECM0307012\",\"001CEKR000000DECM0307276\",\"001CEKR000000DECM0307188\",\"001CEKR000000DECM0307053\",\"001CEKR000000DECM0306848\",\"001CEKR000000DECM0307273\",\"001CEKR000000DECM0307219\"],\"modelId\":\"MODULE_6.734kWh_230Ah_1P8S\",\"cellModelId\":\"CEKR0\"},{\"code\":\"001MEBPC00000DF130100290\",\"cellList\":[\"001CEKR000000DECL0327737\",\"001CEKR000000DECM0306003\",\"001CEKR000000DECM0307104\",\"001CEKR000000DECM0307118\",\"001CEKR000000DECM0307133\",\"001CEKR000000DECM0307103\",\"001CEKR000000DECL0327753\",\"001CEKR000000DECL0327834\"],\"modelId\":\"MODULE_6.734kWh_230Ah_1P8S\",\"cellModelId\":\"CEKR0\"},{\"code\":\"001MEBPC00000DF130100301\",\"cellList\":[\"001CEKR000000DECM0306600\",\"001CEKR000000DECM0306611\",\"001CEKR000000DECM0307020\",\"001CEKR000000DECM0306532\",\"001CEKR000000DECM0306736\",\"001CEKR000000DECM0307019\",\"001CEKR000000DECM0306620\",\"001CEKR000000DECM0306667\"],\"modelId\":\"MODULE_6.734kWh_230Ah_1P8S\",\"cellModelId\":\"CEKR0\"},{\"code\":\"001MEBPC00000DF130100291\",\"cellList\":[\"001CEKR000000DECM0306472\",\"001CEKR000000DECM0306664\",\"001CEKR000000DECM0306471\",\"001CEKR000000DECM0307206\",\"001CEKR000000DECL0327709\",\"001CEKR000000DECM0307213\",\"001CEKR000000DECM0305563\",\"001CEKR000000DECM0306663\"],\"modelId\":\"MODULE_6.734kWh_230Ah_1P8S\",\"cellModelId\":\"CEKR0\"},{\"code\":\"001MEBPC00000DF130100146\",\"cellList\":[\"001CEKR000000DECM0302734\",\"001CEKR000000DECM0301992\",\"001CEKR000000DECM0302182\",\"001CEKR000000DECM0301896\",\"001CEKR000000DECM0302107\",\"001CEKR000
|
2025-03-25 16:56:02 +08:00
|
|
|
|
Email = "dfafa@qq.com",
|
|
|
|
|
Price = Convert.ToDecimal(1.1),
|
|
|
|
|
UserName = "admin",
|
|
|
|
|
RegistrationDate = DateTime.Now,
|
|
|
|
|
|
|
|
|
|
}).ExecuteReturnIdentity();
|
|
|
|
|
|
2025-04-17 17:08:57 +08:00
|
|
|
|
////插入用户
|
|
|
|
|
//var userId = db.Insertable(new UserInfo()
|
|
|
|
|
//{
|
|
|
|
|
// Context = "Context",
|
|
|
|
|
// Email = "dfafa@qq.com",
|
|
|
|
|
// Price = Convert.ToDecimal(1.1),
|
|
|
|
|
// UserName = "admin",
|
|
|
|
|
// RegistrationDate = DateTime.Now,
|
2025-03-25 16:56:02 +08:00
|
|
|
|
|
2025-04-17 17:08:57 +08:00
|
|
|
|
//}).ExecuteReturnIdentity();
|
|
|
|
|
|
|
|
|
|
////插入用户登录
|
|
|
|
|
//var loginId = db.Insertable(new UserLogins()
|
|
|
|
|
//{
|
|
|
|
|
// LoginTime = DateTime.Now,
|
|
|
|
|
// UserId = userId,
|
|
|
|
|
|
|
|
|
|
//}).ExecuteReturnIdentity();
|
2025-03-25 16:56:02 +08:00
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
Console.WriteLine($"Insertable发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Queryable()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//查询用户
|
|
|
|
|
var userInfo = db.Queryable<UserInfo>().ToList();
|
2025-03-10 16:52:05 +08:00
|
|
|
|
|
2025-03-25 16:56:02 +08:00
|
|
|
|
//查询用户登录
|
|
|
|
|
var userLogin = db.Queryable<UserLogins>().ToList();
|
2025-03-10 16:52:05 +08:00
|
|
|
|
|
2025-03-25 16:56:02 +08:00
|
|
|
|
var user = userInfo.FirstOrDefault();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"Queryable发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
2025-03-25 16:56:02 +08:00
|
|
|
|
public static void QueryableSelect()
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//查询用户
|
|
|
|
|
var userInfo = db.Queryable<UserInfo>().First();
|
|
|
|
|
|
|
|
|
|
//常量赋值
|
|
|
|
|
var alias = "zhangsan";
|
|
|
|
|
var isActived = false;
|
2025-04-17 17:08:57 +08:00
|
|
|
|
var userInfoConst = db.Queryable<UserInfo>().Select(p => new Student { Name = p.UserName, Alias = alias }).ToList();
|
2025-03-25 16:56:02 +08:00
|
|
|
|
//对象赋值
|
2025-04-17 17:08:57 +08:00
|
|
|
|
var userInfoObject = db.Queryable<UserInfo>().Select(p => new Student { Name = p.UserName, Alias = userInfo.UserName }).ToList();
|
|
|
|
|
//查询值转换
|
|
|
|
|
var userInfoConvert = db.Queryable<UserInfo>().Select(p => new Student { Name = p.UserName, Alias = userInfo.UserName, IsActived = userInfo.IsActived ? "启用" : "禁用" }).ToList();
|
2025-03-25 16:56:02 +08:00
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"QueryableSelect发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
|
2025-03-25 16:56:02 +08:00
|
|
|
|
public static void JoinQuery()
|
|
|
|
|
{
|
|
|
|
|
try
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
var queryResult = db.Queryable<UserInfo, UserLogins>((ui, ul) => new JoinQueryInfos(JoinType.Inner, ui.UserId == ul.UserId)).Select((ui, ul) => new
|
|
|
|
|
{
|
|
|
|
|
ui.UserName,
|
|
|
|
|
ul.LoginTime,
|
|
|
|
|
}).ToList();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"JoinQuery发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void PageQuery()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//查询用户
|
|
|
|
|
var userList = db.Queryable<UserInfo>().ToPageList(2, 2);
|
|
|
|
|
|
|
|
|
|
var queryResult = db.Queryable<UserInfo, UserLogins>((ui, ul) => new JoinQueryInfos(JoinType.Inner, ui.UserId == ul.UserId)).Select((ui, ul) => new
|
|
|
|
|
{
|
|
|
|
|
ui.UserName,
|
|
|
|
|
ul.LoginTime,
|
|
|
|
|
}).ToPageList(2, 2);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
Console.WriteLine($"PageQuery发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void OrderBy()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//查询用户
|
|
|
|
|
var userList = db.Queryable<UserInfo>().OrderBy(p => p.UserName).ToList();
|
|
|
|
|
|
|
|
|
|
var queryResult = db.Queryable<UserInfo, UserLogins>((ui, ul) => new JoinQueryInfos(JoinType.Inner, ui.UserId == ul.UserId)).Select((ui, ul) => new
|
|
|
|
|
{
|
|
|
|
|
ui.UserName,
|
|
|
|
|
ul.LoginTime,
|
|
|
|
|
}).OrderBy(ui => ui.UserName).ToList();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
Console.WriteLine($"OrderBy发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void GroupBy()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//查询用户
|
|
|
|
|
var userList = db.Queryable<UserInfo>().GroupBy(p => p.Email).Select(p => new { UserId = SqlFunc.AggregateMax(p.UserId), p.Email, }).OrderBy(p => p.UserId).ToList();
|
|
|
|
|
|
|
|
|
|
var queryResult = db.Queryable<UserInfo, UserLogins>((ui, ul) => new JoinQueryInfos(JoinType.Inner, ui.UserId == ul.UserId)).GroupBy((ui, ul) =>
|
|
|
|
|
new
|
|
|
|
|
{
|
|
|
|
|
ui.UserName,
|
|
|
|
|
})
|
|
|
|
|
.Select((ui, ul) => new
|
|
|
|
|
{
|
|
|
|
|
UserId = SqlFunc.AggregateMax(ui.UserId),
|
|
|
|
|
ui.UserName,
|
|
|
|
|
LoginTime = SqlFunc.AggregateMax(ul.LoginTime),
|
|
|
|
|
}).OrderBy(ui => ui.UserName).ToList();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
2025-03-10 16:52:05 +08:00
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
Console.WriteLine($"GroupBy发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
2025-03-10 17:12:31 +08:00
|
|
|
|
public static void Updateable()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
2025-03-10 17:12:31 +08:00
|
|
|
|
|
2025-03-25 16:56:02 +08:00
|
|
|
|
//更新用户
|
|
|
|
|
var ret = db.Updateable<UserInfo>(p => p.UserName == "test").Where(p => p.UserName == "admin").ExecuteCommand();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"Updateable发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
2025-03-10 17:12:31 +08:00
|
|
|
|
}
|
|
|
|
|
|
2025-03-10 16:52:05 +08:00
|
|
|
|
public static void Deleteable()
|
|
|
|
|
{
|
2025-03-25 16:56:02 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取新的数据库实例
|
|
|
|
|
var db = DbHelper.GetNewDb();
|
|
|
|
|
|
|
|
|
|
//查询用户
|
|
|
|
|
var userList = db.Queryable<UserInfo>().ToList();
|
|
|
|
|
//删除用户
|
|
|
|
|
var deleteUserRet = db.Deleteable(userList).ExecuteCommand();
|
|
|
|
|
|
|
|
|
|
//查询用户登录
|
|
|
|
|
var userLoginList = db.Queryable<UserInfo>().ToList();
|
|
|
|
|
//删除用户登录
|
|
|
|
|
var deleteUserLoginRet = db.Deleteable(userLoginList).ExecuteCommand();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"Deleteable发生异常,异常信息:{GetFullErrorMessage(ex)}");
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
|
2025-03-25 16:56:02 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取完整的异常信息,包括堆栈信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="ex">异常对象</param>
|
|
|
|
|
/// <returns>返回完整异常信息</returns>
|
|
|
|
|
private static string GetFullErrorMessage(Exception ex)
|
|
|
|
|
{
|
|
|
|
|
var message = new StringBuilder();
|
|
|
|
|
message.AppendLine($"Message:{ex.Message}");
|
|
|
|
|
message.AppendLine($"Type: {ex.GetType()}");
|
|
|
|
|
message.AppendLine("StackTrace:");
|
|
|
|
|
message.AppendLine(ex.StackTrace);
|
|
|
|
|
if (ex.InnerException != null)
|
|
|
|
|
{
|
|
|
|
|
message.AppendLine("InnerException:");
|
|
|
|
|
message.AppendLine(GetFullErrorMessage(ex.InnerException));
|
|
|
|
|
}
|
|
|
|
|
return message.ToString();
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户信息实体类
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarTable("USER_INFO", TableDescription = "用户信息")]
|
|
|
|
|
public class UserInfo
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户ID(主键)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsIdentity = true, IsPrimaryKey = true, ColumnDescription = "用户ID")]
|
|
|
|
|
public int UserId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户名
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "用户名")]
|
|
|
|
|
public string UserName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户邮箱
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsNullable = true, ColumnDescription = "用户邮箱")]
|
|
|
|
|
public string Email { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 产品价格
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "产品价格")]
|
|
|
|
|
public decimal Price { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户内容
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true, ColumnDescription = "用户内容")]
|
|
|
|
|
public string Context { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户注册日期
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsNullable = true, ColumnDescription = "用户注册日期")]
|
|
|
|
|
public DateTime? RegistrationDate { get; set; }
|
2025-03-25 16:56:02 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否启用
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "是否启用")]
|
|
|
|
|
public bool IsActived { get; set; }
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户登录实体类
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarTable("USER_LOGINS")]
|
|
|
|
|
public class UserLogins
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ID(主键)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
|
|
|
|
|
public int Id { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsNullable = false)]
|
|
|
|
|
public int UserId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 登录时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
public DateTime LoginTime { get; set; }
|
|
|
|
|
}
|
2025-03-25 16:56:02 +08:00
|
|
|
|
|
|
|
|
|
public class Student
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 别名
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Alias { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 启用
|
|
|
|
|
/// </summary>
|
2025-04-17 17:08:57 +08:00
|
|
|
|
public string IsActived { get; set; }
|
2025-03-25 16:56:02 +08:00
|
|
|
|
}
|
2025-03-10 16:52:05 +08:00
|
|
|
|
}
|