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));
}
}
這樣就完成了。
