SqlSugar CodeFirst 生成数据库or由数据库生成类
---"数据库的名字由连接字符串给出"
//CodeFist
- 第一种方法:
SqlSugarClient Db = SqlSugarHelper.db;
Db.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Player));
Db.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Champion));
//bool t = File.Exists(Application.StartupPath + @"/Test.db");
bool t = File.Exists(Application.StartupPath + @"/database/test_xls1.db");
if (t) //File.Exists, 文件, Directory.Exists 文件夹
{
MessageBox.Show("数据库生成成功!");
}
else
{
MessageBox.Show("数据库生成失败!");
}
- 第二种方法:
/*
//三、也可以CodeFirst---代码先行,不用关心数据库的, 只需要写后台代码,需要什么对象就定义什么对象, 然后一次给生成到数据库中去。
//指定哪些类来生成数据库
//Client.Aop.OnLogExecuting = (Sql, par) =>
//{
// Console.WriteLine($"Sql语句:{sql}");
//};
Assembly assembly = Assembly.LoadFrom(@"D:\work\cs\operate_excel\operate_excel\Models\bin\Debug\Models.dll");
IEnumerable<Type> typelist = assembly.GetTypes().Where(c => c.Namespace == "Models");
bool Backup = false; //是否备份
SqlSugarHelper.db.DbMaintenance.CreateDatabase(); //创建一个数据库出来
if(Backup)
{
SqlSugarHelper.db.CodeFirst.BackupTable().InitTables(typelist.ToArray());
}
else
{
SqlSugarHelper.db.CodeFirst.InitTables(typelist.ToArray());
}
*/
由数据库生成类
namespace kqj_DAL
{
public class GenClassFromDB
{
public static void GenClass()
{
//SqlSugarHelper.SqlSugarClient.DbFirst.CreateClassFile(@"D:\work\cs\cs_kqj\kqj_Models"); //生成所有表的實體類
SqlSugarHelper.SqlSugarClient.DbFirst.Where(c=>c.StartsWith("t_sys_dgvinfo")).CreateClassFile(@"D:\work\cs\cs_kqj\kqj_Models"); //生成部分表的實體類
}
}
}