45 lines
984 B
C#
45 lines
984 B
C#
using SqlSugar;
|
|
using System.Collections.Concurrent;
|
|
|
|
namespace LFlow.Base.Utils;
|
|
/// <summary>
|
|
/// CodeFirst
|
|
/// </summary>
|
|
public static class CodeFirst
|
|
{
|
|
|
|
/// <summary>
|
|
/// 类型集合
|
|
/// </summary>
|
|
private static readonly ConcurrentBag<Type> _types = [];
|
|
/// <summary>
|
|
/// 添加类型
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
public static void AddType(Type type)
|
|
{
|
|
_types.Add(type);
|
|
}
|
|
/// <summary>
|
|
/// 初始化表
|
|
/// </summary>
|
|
internal static void InitTable()
|
|
{
|
|
var logger = App.GetService<Serilog.ILogger>()!;
|
|
var db = App.GetService<ISqlSugarClient>()!;
|
|
foreach (var type in _types)
|
|
{
|
|
db.CodeFirst.InitTables(type);
|
|
logger.Information($"Init table {type.Name} success");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 初始化数据库种子
|
|
/// </summary>
|
|
internal static void InitDBSeed()
|
|
{
|
|
//TODO: Seed data
|
|
}
|
|
}
|