mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-07 15:14:33 +08:00
Compare commits
8 Commits
24f6203c74
...
8e765a9549
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8e765a9549 | ||
![]() |
44201caac3 | ||
![]() |
07b7c90652 | ||
![]() |
a5fc38d9f2 | ||
![]() |
e30875439a | ||
![]() |
f373e03d44 | ||
![]() |
824b62e451 | ||
![]() |
c3989e3e74 |
@@ -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()
|
||||
{
|
||||
|
||||
}
|
@@ -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" />
|
||||
|
@@ -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)]
|
||||
|
@@ -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();
|
||||
|
@@ -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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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,
|
||||
|
@@ -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
|
||||
{
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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()
|
||||
{
|
||||
|
||||
}
|
@@ -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>
|
||||
|
Reference in New Issue
Block a user