mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-05 17:37:58 +08:00
-
This commit is contained in:
parent
62fb925df0
commit
f6ed271aa1
@ -29,6 +29,7 @@ namespace OrmTest.UnitTest
|
||||
whereSingle6();
|
||||
whereSingle7(new Student() { Id = 1 });
|
||||
whereSingle8(new Student() { Id = 1 });
|
||||
whereSingle9(new Student() { Id = 1 });
|
||||
WhereMultiple1();
|
||||
WhereMultiple2();
|
||||
|
||||
@ -159,10 +160,22 @@ namespace OrmTest.UnitTest
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Name] IS @Name0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Name0",null)
|
||||
base.Check(value, pars, "( [Name] IS NULL )", new List<SugarParameter>() {
|
||||
|
||||
}, "whereSingle8");
|
||||
}
|
||||
|
||||
private void whereSingle9(Student st)
|
||||
{
|
||||
//Expression<Func<Student, bool>> exp = it => it.Name == st.Name;
|
||||
//ExpressionContext expContext = new ExpressionContext();
|
||||
//expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
//var value = expContext.Result.GetString();
|
||||
//var pars = expContext.Parameters;
|
||||
//base.Check(value, pars, "( [Name] IS NULL )", new List<SugarParameter>() {
|
||||
|
||||
//}, "whereSingle9");
|
||||
}
|
||||
}
|
||||
|
||||
public class WhereConst
|
||||
|
@ -110,7 +110,7 @@ namespace SqlSugar
|
||||
{
|
||||
if (parameter.BaseExpression is BinaryExpression || parameter.BaseExpression == null)
|
||||
{
|
||||
var otherExpression = isLeft == true ? parameter.BaseParameter.RightExpression : parameter.BaseParameter.LeftExpression;
|
||||
var oppoSiteExpression = isLeft == true ? parameter.BaseParameter.RightExpression : parameter.BaseParameter.LeftExpression;
|
||||
if (parameter.CurrentExpression is MethodCallExpression)
|
||||
{
|
||||
var appendValue = value;
|
||||
@ -124,12 +124,19 @@ namespace SqlSugar
|
||||
}
|
||||
this.AppendOpreator(parameter, isLeft);
|
||||
}
|
||||
else if (otherExpression is MemberExpression)
|
||||
else if (oppoSiteExpression is MemberExpression)
|
||||
{
|
||||
string appendValue = Context.SqlParameterKeyWord
|
||||
+ ((MemberExpression)otherExpression).Member.Name
|
||||
+ ((MemberExpression)oppoSiteExpression).Member.Name
|
||||
+ Context.ParameterIndex;
|
||||
this.Context.Parameters.Add(new SugarParameter(appendValue, value));
|
||||
if (value.ObjToString() != "NULL" && !parameter.ValueIsNull)
|
||||
{
|
||||
this.Context.Parameters.Add(new SugarParameter(appendValue, value));
|
||||
}
|
||||
else
|
||||
{
|
||||
appendValue = value.ObjToString();
|
||||
}
|
||||
Context.ParameterIndex++;
|
||||
appendValue = string.Format(" {0} ", appendValue);
|
||||
if (isLeft == true)
|
||||
|
@ -34,6 +34,7 @@ namespace SqlSugar
|
||||
var parentIsBinary = parameter.BaseParameter.CurrentExpression is BinaryExpression;
|
||||
if (value == null && parentIsBinary) {
|
||||
parameter.BaseParameter.ValueIsNull = true;
|
||||
value = "NULL";
|
||||
}
|
||||
AppendValue(parameter, isLeft, value);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user