Compare commits

...

8 Commits

Author SHA1 Message Date
sunkaixuan
8e765a9549 Rename 2025-09-30 20:10:10 +08:00
sunkaixuan
44201caac3 Rename 2025-09-30 20:09:15 +08:00
sunkaixuan
07b7c90652 Merge branch 'master' of gitee.com:dotnetchina/SqlSugar 2025-09-30 18:11:41 +08:00
sunkaixuan
a5fc38d9f2 Update leftjoinIF 2025-09-30 15:50:11 +08:00
sunkaixuan
e30875439a Add demo 2025-09-30 14:06:17 +08:00
sunkaixuan
f373e03d44 Update Discrimator 2025-09-30 14:05:39 +08:00
sunkaixuan
824b62e451 Update demo 2025-09-30 13:37:55 +08:00
sunkaixuan
c3989e3e74 Update exp to sql 2025-09-30 13:37:48 +08:00
11 changed files with 43 additions and 8 deletions

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace SqlSugar
{
public class DmInserttable<T> : InsertableProvider<T> where T : class, new()
public class DmInsertable<T> : InsertableProvider<T> where T : class, new()
{
}

View File

@@ -429,7 +429,7 @@
<Compile Include="Realization\Dm\DbBind\DmDbBind.cs" />
<Compile Include="Realization\Dm\DbFirst\DmDbFirst.cs" />
<Compile Include="Realization\Dm\DbMaintenance\DmDbMaintenance.cs" />
<Compile Include="Realization\Dm\Insertable\DmInserttable.cs" />
<Compile Include="Realization\Dm\Insertable\DmInsertable.cs" />
<Compile Include="Realization\Dm\DmProvider.cs" />
<Compile Include="Realization\Dm\Queryable\DmQueryable.cs" />
<Compile Include="Realization\Dm\SqlBuilder\DmBuilder.cs" />

View File

@@ -52,6 +52,13 @@ namespace OrmTest
))
.ToList();
db.DbMaintenance.AddColumnRemark("Id", "DBO.Order", "a");
var cats =new List<Cat>() {
new Cat { Name = "x", Color = "Gray" },
new Cat { Name = "y", Color = "Gray" }
};
db.Insertable(cats).ExecuteCommand();
db.Updateable(cats).ExecuteCommand();
}
}
[SugarTable("Animal",IsDisabledDelete =true)]

View File

@@ -19,6 +19,12 @@ namespace OrmTest
.Where(t => x.Any(s => s.UserName == t.UserName && s.Context == t.Context))
.ToList();
var userInfo1 = db.Queryable<UserInfo001>()
.Select(s => new
{
n=SqlFunc.MappingColumn<bool>("1=1")?true:false
}).ToList();
var userInfo2 = db.Queryable<UserInfo001>()
.Where(t => x.Any(s => t.UserName ==s.UserName && t.Context == s.Context))
.ToList();

View File

@@ -375,7 +375,7 @@ namespace SqlSugar
{
var name = disItem.Split(':').First();
var value = disItem.Split(':').Last();
insertItem.Add(new DbColumnInfo() { DbColumnName = name, PropertyName = name, PropertyType = typeof(string), Value = value });
insertItem.Add(new DbColumnInfo() { TableId=i, DbColumnName = name, PropertyName = name, PropertyType = typeof(string), Value = value });
}
}
}

View File

@@ -216,7 +216,14 @@ namespace SqlSugar
if (isLeftJoin == false)
{
result.QueryBuilder.JoinQueryInfos.Remove(result.QueryBuilder.JoinQueryInfos.Last());
result.QueryBuilder.AsTables = oldAsName;
if (oldAsName?.Any() == false && result.QueryBuilder.AsTables?.Any() == true)
{
//no things
}
else
{
result.QueryBuilder.AsTables = oldAsName;
}
}
return result;
}

View File

@@ -363,6 +363,12 @@ namespace SqlSugar
ps.Visit(expr);
return ps.Parameters;
}
public static bool NoParameterOrSqlfunc(Expression expr)
{
var ps = new ParameterExpressionVisitor();
ps.Visit(expr);
return ps.Parameters.Count==0&&ps.IsSqlFunc==false;
}
public static bool IsComparisonOperatorBool(BinaryExpression binaryExp)
{
return binaryExp.NodeType.IsIn(ExpressionType.Equal,

View File

@@ -10,6 +10,7 @@ namespace SqlSugar
{
internal class ParameterExpressionVisitor : ExpressionVisitor
{
public bool IsSqlFunc { get; set; }
public List<ParameterExpression> Parameters { get; } = new List<ParameterExpression>();
protected override Expression VisitParameter(ParameterExpression node)
@@ -17,6 +18,14 @@ namespace SqlSugar
Parameters.Add(node);
return base.VisitParameter(node);
}
protected override Expression VisitMethodCall(MethodCallExpression node)
{
if (node.Method?.DeclaringType==typeof(SqlFunc))
{
IsSqlFunc = true;
}
return base.VisitMethodCall(node);
}
}
internal class MethodCallExpressionVisitor : ExpressionVisitor
{

View File

@@ -18,7 +18,7 @@ namespace SqlSugar
express.IfFalse
};
SetSingleTableNameSubqueryShortName(express);
if (ExpressionTool.GetParameters(express.Test).Count == 0)
if (ExpressionTool.NoParameterOrSqlfunc(express.Test))
{
while (express != null)
{

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace SqlSugar
{
public class DmInserttable<T> : InsertableProvider<T> where T : class, new()
public class DmInsertable<T> : InsertableProvider<T> where T : class, new()
{
}

View File

@@ -2,7 +2,7 @@
<package >
<metadata>
<id>SqlSugarCore</id>
<version>5.1.4.205</version>
<version>5.1.4.206-preview06</version>
<authors>sunkaixuan</authors>
<owners>果糖大数据科技</owners>
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>