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"); //生成部分表的實體類
		}
	}
}

posted on 2022-05-18 15:03  manber  阅读(1395)  评论(0编辑  收藏  举报

导航