Add Sunfunc.EqualsNull

This commit is contained in:
skx 2020-10-29 17:15:23 +08:00
parent 09f9b45037
commit 96aabd2ff7
5 changed files with 21 additions and 1 deletions

View File

@ -30,7 +30,7 @@ namespace OrmTest
Console.WriteLine("#### Examples Start ####");
var db = GetInstance();
var dbTime = db.GetDate();
var getAll = db.Queryable<Order>().ToList();
var getAll = db.Queryable<Order>().Where(it=> SqlFunc.EqualsNull(it.Name,null)).ToList();
var getOrderBy = db.Queryable<Order>().OrderBy(it => it.Name,OrderByType.Desc).ToList();
var getOrderBy2 = db.Queryable<Order>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();
var getOrderBy3 = db.Queryable<Order>().OrderBy(it =>new { it.Name,it.Id}).ToList();

View File

@ -138,6 +138,19 @@ namespace SqlSugar
return string.Format(" ({0} = {1}) ", parameter.MemberName, parameter2.MemberName); ;
}
public virtual string EqualsNull(MethodCallExpressionModel model)
{
var parameter = model.Args[0];
var parameter2 = model.Args[1];
if (parameter2.MemberValue == null)
{
return string.Format(" ({0} is null) ", parameter.MemberName, parameter2.MemberName) ;
}
else
{
return string.Format(" ({0} = {1}) ", parameter.MemberName, parameter2.MemberName);
}
}
public virtual string DateIsSameDay(MethodCallExpressionModel model)
{
var parameter = model.Args[0];

View File

@ -22,6 +22,7 @@ namespace SqlSugar
string ContainsArray(MethodCallExpressionModel model);
string ContainsArrayUseSqlParameters(MethodCallExpressionModel model);
string Equals(MethodCallExpressionModel model);
string EqualsNull(MethodCallExpressionModel model);
string DateIsSameDay(MethodCallExpressionModel model);
string DateIsSameByType(MethodCallExpressionModel model);
string DateAddByType(MethodCallExpressionModel model);

View File

@ -65,6 +65,10 @@ namespace SqlSugar
{
return thisValue.Equals(parameterValue);
}
public new static bool EqualsNull(object thisValue, object parameterValue)
{
return thisValue.Equals(parameterValue);
}
public static bool DateIsSame(DateTime date1, DateTime date2)
{
return date1.ToString("yyyy-MM-dd") == date2.ToString("yyyy-MM-dd");

View File

@ -568,6 +568,8 @@ namespace SqlSugar
return caResult2;
case "Equals":
return this.Context.DbMehtods.Equals(model);
case "EqualsNull":
return this.Context.DbMehtods.EqualsNull(model);
case "DateIsSame":
if (model.Args.Count == 2)
return this.Context.DbMehtods.DateIsSameDay(model);