namespace LinCms.Core.Entities;
using FreeSql;class Program{static void Main(string[] args){// 导出表// dotnet tool install -g FreeSql.Generator// FreeSql.Generator -Razor 2 -NameOptions 0,0,0,1 -NameSpace LinCms.Core.Entities -DB "Oracle,Data Source=xxxxx"// 创建项目// dotnet new console -n FreeSqlDbFirstDemo// cd FreeSqlDbFirstDemo// dotnet add package FreeSql// dotnet add package FreeSql.Provider.Sqlite// dotnet add package FreeSql.DbFirst// dotnet add package Newtonsoft.Json// 1. 配置 FreeSqlvar fsql = new FreeSqlBuilder().UseConnectionString(DataType.Sqlite, "Data Source=test.db").UseAutoSyncStructure(true) // 自动同步实体结构到数据库.Build();// 2. 创建数据库和表CreateDatabaseAndTables(fsql);Console.WriteLine("程序执行完成!");}/// <summary>/// 创建数据库和表/// </summary>static void CreateDatabaseAndTables(IFreeSql fsql){Console.WriteLine("\n开始创建数据库和表...");// 创建数据库(如果不存在)fsql.Ado.ExecuteNonQuery("ATTACH DATABASE 'test.db' AS test");// 使用实体类创建表// find . -name "*.cs" -exec basename {} .cs \;// DisableSyncStructure = false 全局替换 DisableSyncStructure = false// find . -name "*.cs" -exec sed -i 's/DbType = ".*",//g' {} \;// find . -name "*.cs" -exec sed -i 's/DbType = ".*"//g' {} \;// find . -name "*.cs" -exec sed -i 's/, )]/ )]/g' {} \;fsql.CodeFirst.SyncStructure<ACTIONS>();fsql.CodeFirst.SyncStructure<AUTHENTICATION>();fsql.CodeFirst.SyncStructure<AUTHENTICATIONBACK>();fsql.CodeFirst.SyncStructure<FUNCTIONS>();fsql.CodeFirst.SyncStructure<GAMAPPINGS>();fsql.CodeFirst.SyncStructure<GFMAPPINGS>();fsql.CodeFirst.SyncStructure<GROUPS>();fsql.CodeFirst.SyncStructure<LOG>();fsql.CodeFirst.SyncStructure<MEMBERSHIP>();fsql.CodeFirst.SyncStructure<ORGANIZATION>();fsql.CodeFirst.SyncStructure<PFMAPPINGS>();fsql.CodeFirst.SyncStructure<PRODUCTS>();fsql.CodeFirst.SyncStructure<RAMAPPINGS>();fsql.CodeFirst.SyncStructure<RFMAPPINGS>();fsql.CodeFirst.SyncStructure<ROLES>();fsql.CodeFirst.SyncStructure<ROLETAG>();fsql.CodeFirst.SyncStructure<UOMAPPINGS>();fsql.CodeFirst.SyncStructure<USERINFO>();fsql.CodeFirst.SyncStructure<USERS>();fsql.CodeFirst.SyncStructure<USERSINGROUPS>();fsql.CodeFirst.SyncStructure<USERSINROLES>();Console.WriteLine("数据库和表创建完成!");}}