Closed henq closed 11 months ago
创建表的方法用下面的,不要改原始方法了
var type = db.DynamicBuilder().CreateClass("table1", new SugarTable()
{
})
.CreateProperty("Id", typeof(int),new SugarColumn() { IsPrimaryKey = true, IsIdentity = true })
.CreateProperty("Name",typeof(string), new SugarColumn() { })
.WithCache()//缓存起来根据表名和字段名组合的KEY
.BuilderType();
//SugarColumn 属性说明看文档: 迁移
//创建表
db.CodeFirst.InitTables(type); //建表属性API看迁移
还有长度是准确的 还有类型用这个 db.DbMaintenance.GetColumnInfosByTableName("s")[0].OracleDataType
创建表的方法用下面的,不要改原始方法了
var type = db.DynamicBuilder().CreateClass("table1", new SugarTable() { }) .CreateProperty("Id", typeof(int),new SugarColumn() { IsPrimaryKey = true, IsIdentity = true }) .CreateProperty("Name",typeof(string), new SugarColumn() { }) .WithCache()//缓存起来根据表名和字段名组合的KEY .BuilderType(); //SugarColumn 属性说明看文档: 迁移 //创建表 db.CodeFirst.InitTables(type); //建表属性API看迁移
我建表用的这个方法,程序里动态构建表的。 Store.Db.DbMaintenance.CreateTable(dto.DbTableName, columns);建表时实体对象还不存在,不能用你给的这个方法。 用这个方法建表,时候,类型字段有问题。 还有长度是准确的 还有类型用这个 db.DbMaintenance.GetColumnInfosByTableName("s")[0].OracleDataType Oracle数据库下原有的方法获取文本类型长度是对的,但是NUMBER类型时候,长度,精度,有问题。类型获取的不是oracle的data_type,和其它数据库返回的类型不一致。新改的把获取oracle列注释的问题也修复了。
这个方法不推荐用了,是coedfirst底层方法, 有些库需要手动处理兼容。推荐用 db.DynamicBuilder().CreateClass("table1", new SugarTable() 所有库兼容都处理好了
原oracle获取字段代码bug修复。