namespace PBS.Service.WE { /// /// /// public class DbFirstHelper { /// /// 初始化 /// public static bool Initial(out string msg) { msg = string.Empty; try { var connectConfig = HStation.WE.ConfigHelper.DefaultConnectionConfig; if (connectConfig == null) { msg = "连接配置初始化失败"; return false; } connectConfig.ConfigureExternalServices = new ConfigureExternalServices() { EntityService = (property, column) => { //除主键外其他列都可空 if (!column.IsPrimarykey) { column.IsNullable = true; } if (column.DataType == StaticConfig.CodeFirst_BigString) { if (WEParasHelper.WE.DataBase.DbType == HStation.WE.DbType.PostgreSql) { column.DataType = "character varying"; } } } }; var typeList = new List() { typeof(Entity.WE.Utensil), typeof(Entity.WE.UtensilGroup), typeof(Entity.WE.UtensilMapping), typeof(Entity.WE.Item), typeof(Entity.WE.Catalogue), typeof(Entity.WE.CatalogueMapping), }; using (var db = new SqlSugarClient(connectConfig)) { //设置字符串默认长度 //db.CodeFirst.SetStringDefaultLength(250); //db.CodeFirst.SetStringDefaultLength(int.MaxValue); //建库:如果不存在创建数据库存在不会重复创建 createdb;注意 :Oracle和个别国产库需不支持该方法,需要手动建库 db.DbMaintenance.CreateDatabase(); db.CodeFirst.InitTables ( typeList.ToArray() ); } return true; } catch (Exception ex) { msg = ex.Message; return false; } } } }