Update MySql

This commit is contained in:
sunkaixuan 2017-06-25 20:46:17 +08:00
parent 123f818666
commit f9bea8e5b2
6 changed files with 34 additions and 46 deletions

View File

@ -21,11 +21,11 @@ namespace OrmTest
new Field(1).Init();
new Where(1).Init();
new Method(1).Init();
// new JoinQuery(1).Init();
// new SingleQuery(1).Init();
// new SelectQuery(1).Init();
// new AutoClose(1).Init();
// new Insert(1).Init();
new JoinQuery(1).Init();
new SingleQuery(1).Init();
new SelectQuery(1).Init();
new AutoClose(1).Init();
new Insert(1).Init();
// new Delete(1).Init();
// new Update(1).Init();
// new Mapping(1).Init();

View File

@ -24,8 +24,8 @@ namespace OrmTest.UnitTest
//db.MappingColumns.Add("id","dbid", "Student");
var t1 = db.Insertable(insertObj).ToSql();
base.Check(@"INSERT INTO [STudent]
([SchoolId],[Name],[CreateTime])
base.Check(@"INSERT INTO `STudent`
(`SchoolId`,`Name`,`CreateTime`)
VALUES
(@SchoolId,@Name,@CreateTime) ;SELECT SCOPE_IDENTITY();",
new List<SugarParameter>() {
@ -42,8 +42,8 @@ namespace OrmTest.UnitTest
db.IgnoreColumns = null;
//Only insert Name
var t3 = db.Insertable(insertObj).InsertColumns(it => new { it.Name }).ToSql();
base.Check(@"INSERT INTO [STudent]
([Name])
base.Check(@"INSERT INTO `STudent`
(`Name`)
VALUES
(@Name) ;SELECT SCOPE_IDENTITY();", new List<SugarParameter>() {
new SugarParameter("@Name","jack")
@ -52,8 +52,8 @@ namespace OrmTest.UnitTest
//Ignore Name and TestId
var t4 = db.Insertable(insertObj).IgnoreColumns(it => new { it.Name, it.TestId }).ToSql();
base.Check(@"INSERT INTO [STudent]
([SchoolId],[CreateTime])
base.Check(@"INSERT INTO `STudent`
(`SchoolId`,`CreateTime`)
VALUES
(@SchoolId,@CreateTime) ;SELECT SCOPE_IDENTITY();",
new List<SugarParameter>() {
@ -64,8 +64,8 @@ namespace OrmTest.UnitTest
//Ignore Name and TestId
var t5 = db.Insertable(insertObj).IgnoreColumns(it => it == "Name" || it == "TestId").With(SqlWith.UpdLock).ToSql();
base.Check(@"INSERT INTO [STudent] WITH(UPDLOCK)
([SchoolId],[CreateTime])
base.Check(@"INSERT INTO `STudent` WITH(UPDLOCK)
(`SchoolId`,`CreateTime`)
VALUES
(@SchoolId,@CreateTime) ;SELECT SCOPE_IDENTITY();",
new List<SugarParameter>() {
@ -75,8 +75,8 @@ new List<SugarParameter>() {
);
//Use Lock
var t6 = db.Insertable(insertObj).With(SqlWith.UpdLock).ToSql();
base.Check(@"INSERT INTO [STudent] WITH(UPDLOCK)
([SchoolId],[Name],[CreateTime])
base.Check(@"INSERT INTO `STudent` WITH(UPDLOCK)
(`SchoolId`,`Name`,`CreateTime`)
VALUES
(@SchoolId,@Name,@CreateTime) ;SELECT SCOPE_IDENTITY();",
new List<SugarParameter>() {
@ -88,8 +88,8 @@ new List<SugarParameter>() {
var insertObj2 = new Student() { Name = null,SchoolId=0, CreateTime = Convert.ToDateTime("2010-1-1") };
var t8 = db.Insertable(insertObj2).Where(true/* Is insert null */, true/*off identity*/).ToSql();
base.Check(@"INSERT INTO [STudent]
([ID],[SchoolId],[CreateTime])
base.Check(@"INSERT INTO `STudent`
(`ID`,`SchoolId`,`CreateTime`)
VALUES
(@ID,@SchoolId,@CreateTime) ;SELECT SCOPE_IDENTITY();",
new List<SugarParameter>() {

View File

@ -36,7 +36,7 @@ namespace OrmTest.UnitTest
.Where("st.id>@id")
.AddParameters(new { id = 1 })
.Select("st.*").ToSql();
string sql = @"SELECT st.* FROM [Student] st Left JOIN School sh ON sh.id=st.schoolid WHERE st.id>@id ";
string sql = @"SELECT st.* FROM `Student` st Left JOIN School sh ON sh.id=st.schoolid WHERE st.id>@id ";
base.Check(sql,new List<SugarParameter>() {new SugarParameter("@id",1)}, join3.Key, join3.Value, "join 3 Error");
}
}
@ -48,7 +48,7 @@ namespace OrmTest.UnitTest
var join1 = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Left,st.SchoolId==sc.Id
}).Where(st => st.Id > 0).Select<Student>("*").ToSql();
base.Check(@"SELECT * FROM [STudent] st Left JOIN School sc ON ( [st].[SchoolId] = [sc].[Id] ) WHERE ( [st].[ID] > @Id0 ) ",
base.Check(@"SELECT * FROM `STudent` st Left JOIN School sc ON ( `st`.`SchoolId` = `sc`.`Id` ) WHERE ( `st`.`ID` > @Id0 ) ",
new List<SugarParameter>() {
new SugarParameter("@Id0",0)
}, join1.Key, join1.Value, "join 1 Error");
@ -61,7 +61,7 @@ namespace OrmTest.UnitTest
var join2 = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Left,st.SchoolId==sc.Id
}).Where(st => st.Id > 2).Select<Student>("*").ToSql();
base.Check(@"SELECT * FROM [STudent] st Left JOIN School sc ON ( [st].[SchoolId] = [sc].[Id] ) WHERE ( [st].[ID] > @Id0 ) ",
base.Check(@"SELECT * FROM `STudent` st Left JOIN School sc ON ( `st`.`SchoolId` = `sc`.`Id` ) WHERE ( `st`.`ID` > @Id0 ) ",
new List<SugarParameter>() {
new SugarParameter("@Id0",2)
}, join2.Key, join2.Value, "join 2 Error");

View File

@ -50,7 +50,7 @@ namespace OrmTest.UnitTest
var t1 = db.Queryable<Student, School>((st, sc) => new object[] {
JoinType.Inner,st.Id==sc.Id
}).GroupBy(st => st.Id).Having(st => SqlFunc.AggregateAvg(st.Id) == 1).Select(st => new { avgId = SqlFunc.AggregateAvg(st.Id) }).ToSql();
base.Check("SELECT AVG([st].[ID]) AS [avgId] FROM [STudent] st Inner JOIN School sc ON ( [st].[ID] = [sc].[Id] ) GROUP BY [st].[ID] HAVING (AVG([st].[ID]) = @Const0 ) ",
base.Check("SELECT AVG(`st`.`ID`) AS `avgId` FROM `STudent` st Inner JOIN School sc ON ( `st`.`ID` = `sc`.`Id` ) GROUP BY `st`.`ID` HAVING (AVG(`st`.`ID`) = @Const0 ) ",
new List<SugarParameter>() {
new SugarParameter("@Const0",1)
}
@ -64,7 +64,7 @@ namespace OrmTest.UnitTest
.Where(st => st.Id > 0)
.Select((st, st2) => new { stid = st.Id, scId = st2.Id, xx = st }).ToSql();
base.Check("SELECT [st].[Id] AS [stid] , [st2].[Id] AS [scId] , [st].[Id] AS [School.Id] , [st].[Name] AS [School.Name] FROM [School] st Left JOIN School st2 ON ( [st].[Id] = [st2].[Id] ) WHERE ( [st].[Id] > @Id0 ) "
base.Check("SELECT `st`.`Id` AS `stid` , `st2`.`Id` AS `scId` , `st`.`Id` AS `School.Id` , `st`.`Name` AS `School.Name` FROM `School` st Left JOIN School st2 ON ( `st`.`Id` = `st2`.`Id` ) WHERE ( `st`.`Id` > @Id0 ) "
, new List<SugarParameter>() {
new SugarParameter("@Id0",0)
}, t2.Key, t2.Value, "select t2 Error");
@ -75,7 +75,7 @@ namespace OrmTest.UnitTest
JoinType.Left,sc2.Id==sc.Id
}).Where(st => st.Id > 0)
.Select<School>((st) => new School() { Id = st.Id }).ToSql();
base.Check("SELECT [st].[ID] AS [Id] FROM [STudent] st Left JOIN School sc ON ( [st].[SchoolId] = [sc].[Id] ) Left JOIN School sc2 ON ( [sc2].[Id] = [sc].[Id] ) WHERE ( [st].[ID] > @Id0 ) ",
base.Check("SELECT `st`.`ID` AS `Id` FROM `STudent` st Left JOIN School sc ON ( `st`.`SchoolId` = `sc`.`Id` ) Left JOIN School sc2 ON ( `sc2`.`Id` = `sc`.`Id` ) WHERE ( `st`.`ID` > @Id0 ) ",
new List<SugarParameter>() {
new SugarParameter("@Id0",0)
}, t3.Key, t3.Value, "select t3 Error");
@ -87,7 +87,7 @@ namespace OrmTest.UnitTest
public SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.MySql });
return db;
}
}

View File

@ -30,33 +30,24 @@ namespace OrmTest.UnitTest
using (var db = GetInstance())
{
var t1 = db.Queryable<Student>().ToSql();
base.Check("SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent]", null, t1.Key, null, "single t1 Error");
base.Check("SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent`", null, t1.Key, null, "single t1 Error");
var t2 = db.Queryable<Student>().With(SqlWith.NoLock).ToSql();
base.Check("SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent] WITH(NOLOCK)", null, t2.Key, null, "single t2 Error");
base.Check("SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent` ", null, t2.Key, null, "single t2 Error");
var t3 = db.Queryable<Student>().OrderBy(it=>it.Id).ToSql();
base.Check("SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent] ORDER BY [ID] ASC", null, t3.Key, null, "single t3 Error");
base.Check("SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent` ORDER BY `ID` ASC", null, t3.Key, null, "single t3 Error");
var t4 = db.Queryable<Student>().OrderBy(it => it.Id).Take(3).ToSql();
base.Check(@"WITH PageTable AS(
SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent]
)
SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY [ID] ASC) AS RowIndex FROM PageTable ) T WHERE RowIndex BETWEEN 1 AND 3", null, t4.Key, null, "single t4 Error");
base.Check(@"SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent` ORDER BY `ID` ASC LIMIT 1,3", null, t4.Key, null, "single t4 Error");
var t5 = db.Queryable<Student>().OrderBy(it => it.Id).Skip(3).ToSql();
base.Check(@"WITH PageTable AS(
SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent]
)
SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY [ID] ASC) AS RowIndex FROM PageTable ) T WHERE RowIndex BETWEEN 4 AND 9223372036854775807", null, t5.Key,null, "single t5 Error");
base.Check(@"SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent` LIMIT 4,9223372036854775807", null, t5.Key,null, "single t5 Error");
int pageIndex = 2;
int pageSize = 10;
var t6 = db.Queryable<Student>().OrderBy(it => it.Id,OrderByType.Desc).Skip((pageIndex-1)*pageSize).Take(pageSize).ToSql();
base.Check(@"WITH PageTable AS(
SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent]
)
SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY [ID] DESC) AS RowIndex FROM PageTable ) T WHERE RowIndex BETWEEN 11 AND 20", null, t6.Key, null, "single t6 Error");
base.Check(@"SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent` ORDER BY `ID` DESC LIMIT 11,10", null, t6.Key, null, "single t6 Error");
int studentCount=db.Ado.GetInt("select count(1) from Student");
@ -104,10 +95,7 @@ namespace OrmTest.UnitTest
.Where(it=>it.Id==1)
.WhereIF(true,it=> SqlFunc.Contains(it.Name,"a"))
.OrderBy(it => it.Id, OrderByType.Desc).Skip((pageIndex - 1) * pageSize).Take(pageSize ).With(SqlWith.NoLock).ToSql();
base.Check(@"WITH PageTable AS(
SELECT [ID],[SchoolId],[Name],[CreateTime] FROM [STudent] WITH(NOLOCK) WHERE ( [ID] = @Id0 ) AND ([Name] like '%'+@MethodConst1+'%')
)
SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY [ID] DESC) AS RowIndex FROM PageTable ) T WHERE RowIndex BETWEEN 11 AND 20", new List<SugarParameter>() {
base.Check(@"SELECT `ID`,`SchoolId`,`Name`,`CreateTime` FROM `STudent` WHERE ( `ID` = @Id0 ) AND (`Name` like concat('%',@MethodConst1,'%')) ORDER BY `ID` DESC LIMIT 11,10", new List<SugarParameter>() {
new SugarParameter("@Id0",1),new SugarParameter("@MethodConst1","a")
}, t8.Key, t8.Value,"single t8 Error");
@ -116,7 +104,7 @@ namespace OrmTest.UnitTest
var t9 = db.Queryable<Student>()
.In(1)
.Select(it => new { it.Id, it.Name,x=it.Id }).ToSql();
base.Check("SELECT [ID] AS [Id] , [Name] AS [Name] , [ID] AS [x] FROM [STudent] WHERE [Id] IN (@InPara0) ", new List<SugarParameter>() {
base.Check("SELECT `ID` AS `Id` , `Name` AS `Name` , `ID` AS `x` FROM `STudent` WHERE `ID` IN (@InPara0) ", new List<SugarParameter>() {
new SugarParameter("@InPara0",1) },t9.Key,t9.Value, "single t9 error");
}
}
@ -124,7 +112,7 @@ namespace OrmTest.UnitTest
public SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.MySql });
return db;
}
}

View File

@ -25,7 +25,7 @@ namespace OrmTest.UnitTest
}
public SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.MySql, IsAutoCloseConnection = true });
return db;
}
}