Oracle与其它版本的差异

OracleSugar.OracleConfig

Oracle自添列的设置是通过序列实现的,只需要在IIS启动时赋值

OracleConfig.SequenceMapping = new List<SequenceModel>()
{
 new SequenceModel(){ ColumnName="ID", TableName="STUDENT", Value="SEQ"} ,
 new SequenceModel(){ ColumnName="ID", TableName="AREA", Value="SEQ2"} ,
 new SequenceModel(){ ColumnName="ID", TableName="SCHOOL", Value="SEQ3"} ,
 new SequenceModel(){ ColumnName="ID", TableName="SUBJECT", Value="SEQ4"} 
};




参数的区别 (新版本没区别)

Oracle是:其它的是@

//oracleSugar.dll
db.Delete<School>("id=:id", new { id = 100 });
//其它所有dll
db.Delete<School>("id=@id", new { id = 100 });




生成实体类时,根据number的长度生成指定的C#类型

Number长度C#类型
1
bool
3
byte
4
short
9
int
18
long

不在此范围默认是int


SqlServer和其它版本的差异

Sql支持无锁查询 ,其它库并没有这个功能。

db.IsNoLock=true;


如果要使用其它锁,请使用别名表的方式

 var list=db.Queryable<Student>("[Student] with(updlock)").ToList()

注意:表名一定要加 [] 否则无效



SqlSugarRepository与其它版本用法区别

连接数据库

http://www.codeisbug.com/Home/Doc?typeId=8



queryable和SqlSugarClient解耦

SqlSugarRepositoryar写法:

//queryable和SqlSugarClient解耦
var par =DbRepository.GetISugarQueryableByType<Student>(type).Where(it => it.id == 1);//声名没有connection对象的Queryable
db.SetDB(par);
var listPar = par.ToList();

SqlSugar.dll用法:

//queryable和SqlSugarClient解耦
var par = new Queryable<Student>().Where(it => it.id == 1);//声名没有connection对象的Queryable
par.DB = db;
var listPar = par.ToList();


事务

http://www.codeisbug.com/Home/Doc?typeId=21




收藏到朋友圈: