Queryable.AddParameters In Array bug

This commit is contained in:
skx 2020-11-24 21:15:28 +08:00
parent 386ff019ad
commit ff9b1d6f76
2 changed files with 21 additions and 6 deletions

View File

@ -54,7 +54,7 @@ namespace OrmTest
UValidate.Check(sql, "SELECT [Name],[Price],[CreateTime],[CustomId] FROM [Order] ", "Queryable"); UValidate.Check(sql, "SELECT [Name],[Price],[CreateTime],[CustomId] FROM [Order] ", "Queryable");
var cts = IEnumerbleContains.Data(); var cts = IEnumerbleContains.Data();
var list2=Db.Queryable<Order>() var list2 = Db.Queryable<Order>()
.Where(p => /*ids.*/cts.Select(c => c.Id).Contains(p.Id)).ToList(); .Where(p => /*ids.*/cts.Select(c => c.Id).Contains(p.Id)).ToList();
var cts2 = IEnumerbleContains.Data().ToList(); ; var cts2 = IEnumerbleContains.Data().ToList(); ;
@ -81,13 +81,13 @@ namespace OrmTest
}, o => o.OrderSn == saleOrderInfo.OrderSn && o.OrderStatus != 1); }, o => o.OrderSn == saleOrderInfo.OrderSn && o.OrderStatus != 1);
var ids = Enumerable.Range(1, 11).ToList(); var ids = Enumerable.Range(1, 11).ToList();
var list8=Db.Queryable<Order>().Where(it => SqlFunc.ContainsArrayUseSqlParameters(ids, it.Id)).ToList(); var list8 = Db.Queryable<Order>().Where(it => SqlFunc.ContainsArrayUseSqlParameters(ids, it.Id)).ToList();
var result2 = Db.Queryable<Unit_SYS_USER>().Where(o => o.XH == UserLoginInfo.XH).Select(o => o.XH).ToSql(); var result2 = Db.Queryable<Unit_SYS_USER>().Where(o => o.XH == UserLoginInfo.XH).Select(o => o.XH).ToSql();
var x = Db.Queryable<BoolTest1>().Select(it => new BoolTest2() var x = Db.Queryable<BoolTest1>().Select(it => new BoolTest2()
{ {
a =it.a a = it.a
}).ToSql(); }).ToSql();
UValidate.Check(x.Key, "SELECT [a] AS [a] FROM [BoolTest1] ", "Queryable"); UValidate.Check(x.Key, "SELECT [a] AS [a] FROM [BoolTest1] ", "Queryable");
x = Db.Queryable<BoolTest2>().Select(it => new BoolTest1() x = Db.Queryable<BoolTest2>().Select(it => new BoolTest1()
@ -125,10 +125,18 @@ namespace OrmTest
Addtime = m2.Addtime, Addtime = m2.Addtime,
RuleType = m2.RuleType, RuleType = m2.RuleType,
}).ToList(); }).ToList();
if (string.IsNullOrEmpty (vmList.First().IpRange) ) if (string.IsNullOrEmpty(vmList.First().IpRange))
{ {
throw new Exception("Queryable"); throw new Exception("Queryable");
} }
Db.Insertable(new Order() { CreateTime=DateTime.Now, CustomId=1, Name="a",Price=1 }).ExecuteCommand();
var sa = Db.SqlQueryable<Order>("SELECT * FroM [ORDER] where id in (@id) ");
sa.AddParameters(new List<SugarParameter>() {
new SugarParameter("id",new int[]{ 1})
});
int i = 0;
var salist= sa.ToPageList(1,2,ref i);
} }
/// <summary> /// <summary>

View File

@ -1374,7 +1374,14 @@ namespace SqlSugar
{ {
sql = sql.Replace("@" + item.ParameterName.Substring(1), newValues.ToArray().ToJoinSqlInVals()); sql = sql.Replace("@" + item.ParameterName.Substring(1), newValues.ToArray().ToJoinSqlInVals());
} }
if (item.ParameterName.Substring(0, 1) != this.SqlParameterKeyWord)
{
sql = sql.Replace(this.SqlParameterKeyWord+item.ParameterName, newValues.ToArray().ToJoinSqlInVals());
}
else
{
sql = sql.Replace(item.ParameterName, newValues.ToArray().ToJoinSqlInVals()); sql = sql.Replace(item.ParameterName, newValues.ToArray().ToJoinSqlInVals());
}
item.Value = DBNull.Value; item.Value = DBNull.Value;
} }
} }