Sqlsugar中使用Codefrist创建数据库
Posted 我的未来方程式i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlsugar中使用Codefrist创建数据库相关的知识,希望对你有一定的参考价值。
Sqlsugar中使用Codefrist创建数据库
首先:创建个.Core项目,命名:sqlsugar.Core。在引用:SqlsugarCore程序包。
在创建个类库:Sqlsugar.Model。在里面创建个AppDbContext类,在创建Models文件夹里面创建你需要的数据表。
public SqlSugarClient Db; public AppDbContext() { Db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = "server=.;database=StudentDb;uid=sa;pwd=123;", DbType = DbType.SqlServer,//设置数据库类型 IsAutoCloseConnection = true,//自动释放数据库,如果存在事务,在事务结束之后释放。 InitKeyType = InitKeyType.Attribute//从实体特性中读取主键自增列信息 }); Db.Aop.OnLogExecuting = (sql, pars) => { Console.WriteLine(sql + "\\r\\n" + Db.Utilities.SerializeObject (pars.ToDictionary(it => it.ParameterName, it => it.Value))); Console.WriteLine(); }; } public void CreateTable(bool Backup=false,int StringDefaultLength=50,params Type[] types) { Db.CodeFirst.SetStringDefaultLength(StringDefaultLength); Db.DbMaintenance.CreateDatabase(); if (Backup) { Db.CodeFirst.BackupTable().InitTables(types); } else { Db.CodeFirst.InitTables(types); } } public SimpleClient<Students> studentDb { get { return new SimpleClient<Students>(Db); } } public SimpleClient<Schools> schoolDb { get { return new SimpleClient<Schools>(Db); } }
[SugarTable("Students")] public class Students { [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]//如果是主键,此处必须指定,否则会引发InSingle(id)方法异常。 public int Id { get; set; } public string StudentName { get; set; } public string Class { get; set; } public int age { get; set; } public DateTime Time { get; set; } }
[SugarTable("Schools")] public class Schools { [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]//如果是主键,此处必须指定,否则会引发InSingle(id)方法异常。 public int SId { get; set; } public string SchoolName { get; set; } }
你可以直接执行代码,可也以创建个单元测试在单元测试里执行,(记得创建单元测试了也要引用程序包)。
public class Tests { [SetUp] public void Setup() { } [Test] public void Test1() { AppDbContext context = new AppDbContext(); context.CreateTable(false, 50, typeof(Students), typeof(Schools)); } }
这样就完成了。
以上是关于Sqlsugar中使用Codefrist创建数据库的主要内容,如果未能解决你的问题,请参考以下文章