orm框架SqlSugar入门6 CodeFirst基础 InitTables()的常见用法
发布:智码IT网 阅读:
InitTables()方法的作用是根据model实体类创建数据库表。
我们先创建SqlSugarClient类的示例对象db,代码如下:
SqlSugarClient db=new SqlSugarClient(MyConnConfig.connectionConfig2);
1、创建数据库单表
假设现有Models.Student实体类,以下示例代码将根据Models.Student实体类,创建数据库表Student
db.CodeFirst.InitTables(typeof(Models.Student));
2、根据多个model实体类,创建多张数据库表
假设现有Models.Student和Models.Course两个实体类,以下示例代码将根据这两个实体类,创建数据库表Student和Course
db.CodeFirst.InitTables(typeof(Models.Student), typeof(Models.Course));
3、设置数据库字段的默认varchar长度
如果不设置,则model实体类中默认string类型成员对应生成的varchar类型数据库字段的默认长度为255,以下示例代码可将其设置为201:
db.CodeFirst.SetStringDefaultLength(201).InitTables(typeof(Models.Student));
4、从包含model实体类的dll文件批量创建数据库表
建设我们有Course、Inpours、Student、StudentScores四个model实体类,这些类包含在model的程序集里面,我们可以得到一个叫model1.dll的程序集文件,将其放在测试项目的bin\Debug下。以下示例代码演示根据model1.dll文件的model实体类,批量创建数据库表。
var modelDllPath = Application.StartupPath+"\\model1.dll";
Type[] modelTypes = Assembly.LoadFile(modelDllPath).GetTypes(); //需要 using System.Reflection;
db.CodeFirst.InitTables(modelTypes);
5、自定义生成的表名
以下示例代码创建Models.Student实体类对应的表,表名称设置为MyStudent
db.CodeFirst.As<Models.Student>("MyStudent").InitTables(typeof(Models.Student));