mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
Mssql Guid HasValue BUG
This commit is contained in:
parent
382f8797e2
commit
e93b23c8e7
@ -25,6 +25,15 @@ namespace OrmTest
|
||||
//Db.DbMaintenance.TruncateTable<TestTree>();
|
||||
//Db.Ado.ExecuteCommand("insert testtree values(hierarchyid::GetRoot(),'name')");
|
||||
//var list2 = Db.Queryable<TestTree>().ToList();
|
||||
|
||||
Db.CodeFirst.InitTables<GuidTable>();
|
||||
Db.Queryable<GuidTable>().Where(it => it.Id.HasValue).ToList();
|
||||
}
|
||||
|
||||
|
||||
public class GuidTable
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,5 +17,6 @@ namespace SqlSugar
|
||||
public bool IsMember { get; set; }
|
||||
public object MemberName { get; set; }
|
||||
public object MemberValue { get; set; }
|
||||
public Type Type { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -336,6 +336,10 @@ namespace SqlSugar
|
||||
this.Expression = expression.Expression;
|
||||
this.Start();
|
||||
var methodParamter = new MethodCallExpressionArgs() { IsMember = true, MemberName = parameter.CommonTempData, MemberValue = null };
|
||||
if (expression.Expression?.Type != null)
|
||||
{
|
||||
methodParamter.Type =UtilMethods.GetUnderType(expression.Expression?.Type);
|
||||
}
|
||||
var result = this.Context.DbMehtods.HasValue(new MethodCallExpressionModel()
|
||||
{
|
||||
Args = new List<MethodCallExpressionArgs>() {
|
||||
|
@ -20,6 +20,18 @@ namespace SqlSugar
|
||||
}
|
||||
public partial class SqlServerMethod : DefaultDbMethod, IDbMethods
|
||||
{
|
||||
|
||||
public override string HasValue(MethodCallExpressionModel model)
|
||||
{
|
||||
if (model.Args[0].Type == UtilConstants.GuidType)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("( {0} IS NOT NULL )", parameter.MemberName);
|
||||
}
|
||||
else
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
return string.Format("( {0}<>'' AND {0} IS NOT NULL )", parameter.MemberName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user