mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 13:34:32 +08:00
Update MySql
This commit is contained in:
parent
c1a4e7efdf
commit
a665508df1
@ -18,9 +18,9 @@ namespace OrmTest
|
||||
static void Main(string[] args)
|
||||
{
|
||||
// /***Unit Test***/
|
||||
// new Field(1).Init();
|
||||
// new Where(1).Init();
|
||||
// new Method(1).Init();
|
||||
new Field(1).Init();
|
||||
new Where(1).Init();
|
||||
// new Method(1).Init();
|
||||
// new JoinQuery(1).Init();
|
||||
// new SingleQuery(1).Init();
|
||||
// new SelectQuery(1).Init();
|
||||
|
@ -45,7 +45,7 @@ namespace OrmTest.UnitTest
|
||||
|
||||
public ExpressionContext GetContext()
|
||||
{
|
||||
return new SqlServerExpressionContext();//可以更换
|
||||
return new MySqlExpressionContext();//可以更换
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(CAST([Id] AS NVARCHAR(MAX)) = @Const0 )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "(CAST(`Id` AS NVARCHAR(MAX)) = @Const0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Const0","a")
|
||||
}, "ExtendToString error");
|
||||
}
|
||||
@ -91,7 +91,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(CAST([Id] AS NVARCHAR(MAX)) = @Const0 )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "(CAST(`Id` AS NVARCHAR(MAX)) = @Const0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Const0","a")
|
||||
}, "ConvetToString error");
|
||||
}
|
||||
@ -284,7 +284,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] like @MethodConst0+'%') ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` like @MethodConst0+'%') ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "StartsWith error");
|
||||
}
|
||||
@ -295,7 +295,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] like '%'+@MethodConst0) ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` like '%'+@MethodConst0) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "EndsWith");
|
||||
}
|
||||
@ -306,7 +306,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] BETWEEN @MethodConst0 AND @MethodConst1) ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` BETWEEN @MethodConst0 AND @MethodConst1) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0",1),new SugarParameter("@MethodConst1",2),
|
||||
}, "Between error");
|
||||
}
|
||||
@ -370,7 +370,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] = @MethodConst0) ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` = @MethodConst0) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "Equals1 error");
|
||||
|
||||
@ -380,7 +380,7 @@ namespace OrmTest.UnitTest
|
||||
expContext2.Resolve(exp2, ResolveExpressType.WhereSingle);
|
||||
var value2 = expContext2.Result.GetString();
|
||||
var pars2 = expContext2.Parameters;
|
||||
base.Check(value2, pars2, " (@MethodConst0 = [Name]) ", new List<SugarParameter>() {
|
||||
base.Check(value2, pars2, " (@MethodConst0 = `Name`) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "Equals2 error");
|
||||
}
|
||||
@ -391,7 +391,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] = [Name]) ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` = `Name`) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "Equals1 error");
|
||||
|
||||
@ -413,7 +413,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] like '%'+@MethodConst0+'%') ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` like '%'+@MethodConst0+'%') ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "Contains error");
|
||||
}
|
||||
@ -424,7 +424,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ([Name] like '%'+@MethodConst0+'%') ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (`Name` like '%'+@MethodConst0+'%') ", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0","a")
|
||||
}, "Contains2 error");
|
||||
}
|
||||
@ -436,7 +436,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, null, " ([Name] IN ('1','2')) ", null, "Contains2 error");
|
||||
base.Check(value, null, " (`Name` IN ('1','2')) ", null, "Contains2 error");
|
||||
}
|
||||
|
||||
private void ContainsArray()
|
||||
@ -447,7 +447,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, null, " ([Name] IN ('1','2')) ", null, "Contains2 error");
|
||||
base.Check(value, null, " (`Name` IN ('1','2')) ", null, "Contains2 error");
|
||||
}
|
||||
|
||||
private void Trim()
|
||||
@ -457,7 +457,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "((rtrim(ltrim(@MethodConst0))) = [Name] )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "((rtrim(ltrim(@MethodConst0))) = `Name` )", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst0"," a")
|
||||
}, "Trim error");
|
||||
}
|
||||
@ -469,7 +469,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( @Const0 = (UPPER([Id])) )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( @Const0 = (UPPER(`Id`)) )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Const0","a")
|
||||
}, "ToUpper error");
|
||||
}
|
||||
@ -480,7 +480,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( @Const0 = (LOWER([Id])) )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( @Const0 = (LOWER(`Id`)) )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Const0","a")
|
||||
}, "ToLower error");
|
||||
}
|
||||
@ -493,7 +493,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( [Id] > @Id0 ) OR ( [Id]='' OR [Id] IS NULL ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "(( `Id` > @Id0 ) OR ( `Id`='' OR `Id` IS NULL ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",2)
|
||||
}, "StringIsNullOrEmpty error");
|
||||
}
|
||||
@ -504,7 +504,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( @Id0 = [Id] ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "(( @Id0 = `Id` ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst1",true),
|
||||
new SugarParameter("@Id0",2)
|
||||
}, "StringIsNullOrEmpty2 error");
|
||||
@ -517,7 +517,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( @Id0 = [Id] ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "(( @Id0 = `Id` ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst1",1),
|
||||
new SugarParameter("@Id0",2)
|
||||
}, "StringIsNullOrEmpty3 error");
|
||||
@ -530,7 +530,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( @Id0 = [Id] ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "(( @Id0 = `Id` ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@MethodConst1","xx"),
|
||||
new SugarParameter("@Id0",2)
|
||||
}, "StringIsNullOrEmpty4 error");
|
||||
@ -556,7 +556,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Name]<>'' AND [Name] IS NOT NULL )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "( `Name`<>'' AND `Name` IS NOT NULL )", new List<SugarParameter>()
|
||||
{
|
||||
|
||||
}, "HasValue error");
|
||||
@ -569,7 +569,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Id]>0 AND [Id] IS NOT NULL )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "( `Id`>0 AND `Id` IS NOT NULL )", new List<SugarParameter>()
|
||||
{
|
||||
|
||||
|
||||
@ -583,7 +583,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( CASE WHEN ( [Id] = @Id0 ) THEN @MethodConst1 ELSE @MethodConst2 END ) = @Const3 )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "(( CASE WHEN ( `Id` = @Id0 ) THEN @MethodConst1 ELSE @MethodConst2 END ) = @Const3 )", new List<SugarParameter>()
|
||||
{
|
||||
new SugarParameter("@Id0",1),
|
||||
new SugarParameter("@MethodConst1",1),
|
||||
@ -599,7 +599,7 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( CASE WHEN ([Name] like '%'+@MethodConst0+'%') THEN @MethodConst1 ELSE @MethodConst2 END ) = @Const3 )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "(( CASE WHEN (`Name` like '%'+@MethodConst0+'%') THEN @MethodConst1 ELSE @MethodConst2 END ) = @Const3 )", new List<SugarParameter>()
|
||||
{
|
||||
new SugarParameter("@MethodConst0","a"),
|
||||
new SugarParameter("@MethodConst1",1),
|
||||
|
@ -44,11 +44,11 @@ namespace OrmTest.UnitTest
|
||||
private void WhereMultiple1()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Id > 1;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereMultiple);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [it].[Id] > @Id0 )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( `it`.`Id` > @Id0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1)
|
||||
}, "WhereMultiple1");
|
||||
}
|
||||
@ -57,11 +57,11 @@ namespace OrmTest.UnitTest
|
||||
string name = "a";
|
||||
WhereConst.name = "a1";
|
||||
Expression<Func<Student, bool>> exp = it => (it.Id > 1 && it.Name != name || it.Id == 1) || it.Name == WhereConst.name;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereMultiple);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " (((( [it].[Id] > @Id0 ) AND ( [it].[Name] <> @Name1 )) OR ( [it].[Id] = @Id2 )) OR ( [it].[Name] = @Name3 ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (((( `it`.`Id` > @Id0 ) AND ( `it`.`Name` <> @Name1 )) OR ( `it`.`Id` = @Id2 )) OR ( `it`.`Name` = @Name3 ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1),
|
||||
new SugarParameter("@Name1","a"),
|
||||
new SugarParameter("@Id2",1),
|
||||
@ -71,33 +71,33 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle1()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Id > 1;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Id] > @Id0 )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( `Id` > @Id0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1)
|
||||
}, "whereSingle1");
|
||||
}
|
||||
private void whereSingle2()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => 1 > it.Id;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( @Id0 > [Id] )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( @Id0 > `Id` )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1)
|
||||
}, "whereSingle2");
|
||||
}
|
||||
private void whereSingle3()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Id > 1 || it.Name == "a";
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " (( [Id] > @Id0 ) OR ( [Name] = @Name1 ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (( `Id` > @Id0 ) OR ( `Name` = @Name1 ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1),
|
||||
new SugarParameter("@Name1","a")
|
||||
}, "whereSingle3");
|
||||
@ -105,11 +105,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle4()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => (it.Id > 1 && it.Name != "a") || it.Name == "a1";
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ((( [Id] > @Id0 ) AND ( [Name] <> @Name1 )) OR ( [Name] = @Name2 )) ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " ((( `Id` > @Id0 ) AND ( `Name` <> @Name1 )) OR ( `Name` = @Name2 )) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1),
|
||||
new SugarParameter("@Name1","a"),
|
||||
new SugarParameter("@Name2","a1")
|
||||
@ -120,11 +120,11 @@ namespace OrmTest.UnitTest
|
||||
string name = "a";
|
||||
WhereConst.name = "a1";
|
||||
Expression<Func<Student, bool>> exp = it => (it.Id > 1 && it.Name != name) || it.Name == WhereConst.name;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " ((( [Id] > @Id0 ) AND ( [Name] <> @Name1 )) OR ( [Name] = @Name2 )) ", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " ((( `Id` > @Id0 ) AND ( `Name` <> @Name1 )) OR ( `Name` = @Name2 )) ", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1),
|
||||
new SugarParameter("@Name1","a"),
|
||||
new SugarParameter("@Name2","a1")
|
||||
@ -135,11 +135,11 @@ namespace OrmTest.UnitTest
|
||||
string name = "a";
|
||||
WhereConst.name = "a1";
|
||||
Expression<Func<Student, bool>> exp = it => (it.Id > 1 && it.Name != name||it.Id==1) || it.Name == WhereConst.name;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, " (((( [Id] > @Id0 ) AND ( [Name] <> @Name1 )) OR ( [Id] = @Id2 )) OR ( [Name] = @Name3 ))", new List<SugarParameter>() {
|
||||
base.Check(value, pars, " (((( `Id` > @Id0 ) AND ( `Name` <> @Name1 )) OR ( `Id` = @Id2 )) OR ( `Name` = @Name3 ))", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1),
|
||||
new SugarParameter("@Name1","a"),
|
||||
new SugarParameter("@Id2",1),
|
||||
@ -149,11 +149,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle7(Student st)
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Id > st.Id;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Id] > @Id0 )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( `Id` > @Id0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1)
|
||||
}, "whereSingle7");
|
||||
}
|
||||
@ -161,11 +161,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle8(Student st)
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Name == null;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Name] IS NULL )", new List<SugarParameter>() {
|
||||
base.Check(value, pars, "( `Name` IS NULL )", new List<SugarParameter>() {
|
||||
|
||||
}, "whereSingle8");
|
||||
}
|
||||
@ -173,11 +173,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle9(Student st)
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Name == st.Name;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Name] = @Name0 )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "( `Name` = @Name0 )", new List<SugarParameter>()
|
||||
{
|
||||
new SugarParameter("@Name0",null)
|
||||
}, "whereSingle9");
|
||||
@ -187,7 +187,7 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle10()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => true;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
@ -201,7 +201,7 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle11()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => !true;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
@ -214,11 +214,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle12()
|
||||
{
|
||||
Expression<Func<DataTestInfo2, bool>> exp = it => it.Bool1==true;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Bool1] = @Bool10 )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "( `Bool1` = @Bool10 )", new List<SugarParameter>()
|
||||
{
|
||||
new SugarParameter("@Bool10",true)
|
||||
}, "whereSingle12");
|
||||
@ -227,11 +227,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle13()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Name!=null;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Name] IS NOT NULL )", new List<SugarParameter>()
|
||||
base.Check(value, pars, "( `Name` IS NOT NULL )", new List<SugarParameter>()
|
||||
{
|
||||
|
||||
}, "whereSingle13");
|
||||
@ -240,11 +240,11 @@ namespace OrmTest.UnitTest
|
||||
private void whereSingle14()
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it =>true&& it.Name != null;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
ExpressionContext expContext = new MySqlExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "(( 1 = 1 ) AND( [Name] IS NOT NULL ))", new List<SugarParameter>()
|
||||
base.Check(value, pars, "(( 1 = 1 ) AND( `Name` IS NOT NULL ))", new List<SugarParameter>()
|
||||
{
|
||||
|
||||
}, "whereSingle14");
|
||||
|
@ -83,21 +83,21 @@ namespace SqlSugar
|
||||
return string.Format(" ({0} IN ({1})) ", value, inValueString);
|
||||
}
|
||||
|
||||
public string Equals(MethodCallExpressionModel model)
|
||||
public virtual string Equals(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} = {1}) ", parameter.MemberName, parameter2.MemberName); ;
|
||||
}
|
||||
|
||||
public string DateIsSameDay(MethodCallExpressionModel model)
|
||||
public virtual string DateIsSameDay(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" (DATEDIFF(day,{0},{1})=0) ", parameter.MemberName, parameter2.MemberName); ;
|
||||
}
|
||||
|
||||
public string DateIsSameByType(MethodCallExpressionModel model)
|
||||
public virtual string DateIsSameByType(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
@ -105,7 +105,7 @@ namespace SqlSugar
|
||||
return string.Format(" (DATEDIFF({2},{0},{1})=0) ", parameter.MemberName, parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
|
||||
public string DateAddByType(MethodCallExpressionModel model)
|
||||
public virtual string DateAddByType(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
@ -113,14 +113,14 @@ namespace SqlSugar
|
||||
return string.Format(" (DATEADD({2},{1},{0})) ", parameter.MemberName, parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
|
||||
public string DateAddDay(MethodCallExpressionModel model)
|
||||
public virtual string DateAddDay(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" (DATEADD(day,{1},{0})) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
|
||||
public string Between(MethodCallExpressionModel model)
|
||||
public virtual string Between(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter1 = model.Args[1];
|
||||
@ -128,75 +128,75 @@ namespace SqlSugar
|
||||
return string.Format(" ({0} BETWEEN {1} AND {2}) ", parameter.MemberName, parameter1.MemberName, parameter2.MemberName);
|
||||
}
|
||||
|
||||
public string StartsWith(MethodCallExpressionModel model)
|
||||
public virtual string StartsWith(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} like {1}+'%') ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
|
||||
public string EndsWith(MethodCallExpressionModel model)
|
||||
public virtual string EndsWith(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} like '%'+{1}) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
|
||||
public string DateValue(MethodCallExpressionModel model)
|
||||
public virtual string DateValue(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0}({1})) ", parameter2.MemberName, parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToInt32(MethodCallExpressionModel model)
|
||||
public virtual string ToInt32(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS INT)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToInt64(MethodCallExpressionModel model)
|
||||
public virtual string ToInt64(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS BIGINT)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToString(MethodCallExpressionModel model)
|
||||
public virtual string ToString(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS NVARCHAR(MAX))", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToGuid(MethodCallExpressionModel model)
|
||||
public virtual string ToGuid(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS UNIQUEIDENTIFIER)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToDouble(MethodCallExpressionModel model)
|
||||
public virtual string ToDouble(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS FLOAT)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToBool(MethodCallExpressionModel model)
|
||||
public virtual string ToBool(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS BIT)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToDate(MethodCallExpressionModel model)
|
||||
public virtual string ToDate(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS DATETIME)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string ToDecimal(MethodCallExpressionModel model)
|
||||
public virtual string ToDecimal(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS MONEY)", parameter.MemberName);
|
||||
}
|
||||
public string Substring(MethodCallExpressionModel model)
|
||||
public virtual string Substring(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
@ -204,13 +204,13 @@ namespace SqlSugar
|
||||
return string.Format("SUBSTRING({0},1 + {1},{2})", parameter.MemberName, parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
|
||||
public string Length(MethodCallExpressionModel model)
|
||||
public virtual string Length(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("LEN({0})", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string Replace(MethodCallExpressionModel model)
|
||||
public virtual string Replace(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
@ -218,31 +218,31 @@ namespace SqlSugar
|
||||
return string.Format("REPLACE({0},{1},{2})", parameter.MemberName, parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
|
||||
public string AggregateSum(MethodCallExpressionModel model)
|
||||
public virtual string AggregateSum(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("SUM({0})", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string AggregateAvg(MethodCallExpressionModel model)
|
||||
public virtual string AggregateAvg(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("AVG({0})", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string AggregateMin(MethodCallExpressionModel model)
|
||||
public virtual string AggregateMin(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("MIN({0})", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string AggregateMax(MethodCallExpressionModel model)
|
||||
public virtual string AggregateMax(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("MAX({0})", parameter.MemberName);
|
||||
}
|
||||
|
||||
public string AggregateCount(MethodCallExpressionModel model)
|
||||
public virtual string AggregateCount(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("COUNT({0})", parameter.MemberName);
|
||||
|
@ -55,5 +55,104 @@ namespace SqlSugar
|
||||
public class MySqlMethod : DefaultDbMethod, IDbMethods
|
||||
{
|
||||
|
||||
public override string Contains(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} like {1}) ", parameter.MemberName, "%" + parameter2.MemberName + "%" );
|
||||
}
|
||||
|
||||
public override string StartsWith(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} like {1}) ", parameter.MemberName, parameter2.MemberName + "%");
|
||||
}
|
||||
|
||||
public override string EndsWith(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} like {1}) ", parameter.MemberName, "%"+parameter2.MemberName);
|
||||
}
|
||||
|
||||
public override string DateIsSameDay(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" (TIMESTAMPDIFF(day,{0},{1})=0) ", parameter.MemberName, parameter2.MemberName); ;
|
||||
}
|
||||
|
||||
public override string DateIsSameByType(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
var parameter3 = model.Args[2];
|
||||
return string.Format(" (TIMESTAMPDIFF({2},{0},{1})=0) ", parameter.MemberName, parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
|
||||
public override string DateAddByType(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
var parameter3 = model.Args[2];
|
||||
return string.Format(" (DATE_ADD({1} INTERVAL {2} {0})) ", parameter.MemberName, parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
|
||||
public override string DateAddDay(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" (DATE_ADD({1} INTERVAL {0} day)) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
|
||||
public override string ToInt32(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS SIGNED)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string ToInt64(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS SIGNED)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string ToString(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS CHAR", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string ToGuid(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS CHAR", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string ToDouble(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS DECIMAL(18,4))", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string ToBool(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS SIGNED)", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string ToDecimal(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" CAST({0} AS DECIMAL(18,4))", parameter.MemberName);
|
||||
}
|
||||
|
||||
public override string Length(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format(" LENGTH({0})", parameter.MemberName);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user