diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 2735cefb..ca7c357b 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -110,6 +110,13 @@ 清空状态数据 + + + 根据 lambda 条件删除数据 + + + + 添加 diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml index 89c147ea..ee325756 100644 --- a/FreeSql/FreeSql.xml +++ b/FreeSql/FreeSql.xml @@ -2953,40 +2953,6 @@ - - - C#:从元组集合中查找 exp1, exp2 是否存在 - SQL: - exp1 = that[0].Item1 and exp2 = that[0].Item2 OR - exp1 = that[1].Item1 and exp2 = that[1].Item2 OR - ... - 注意:当 that 为 null 或 empty 时,返回 1=0 - - - - - - - - - - - C#:从元组集合中查找 exp1, exp2, exp2 是否存在 - SQL: - exp1 = that[0].Item1 and exp2 = that[0].Item2 and exp3 = that[0].Item3 OR - exp1 = that[1].Item1 and exp2 = that[1].Item2 and exp3 = that[1].Item3 OR - ... - 注意:当 that 为 null 或 empty 时,返回 1=0 - - - - - - - - - - 测量两个经纬度的距离,返回单位:米 @@ -3251,3 +3217,49 @@ +完成(可能)被其他线程事务自动提交 + + 事务体 () => {} + + + + 开启事务(不支持异步) + + 超时,未执行完成(可能)被其他线程事务自动提交 + 事务体 () => {} + + + + 开启事务(不支持异步) + + + 事务体 () => {} + 超时,未执行完成(可能)被其他线程事务自动提交 + + + + 数据库访问对象 + + + + + 所有拦截方法都在这里 + + + + + CodeFirst 模式开发相关方法 + + + + + DbFirst 模式开发相关方法 + + + + + 全局过滤设置,可默认附加为 Select/Update/Delete 条件 + + + + diff --git a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs index 45db5750..2f2facd5 100644 --- a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs +++ b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProvider.cs @@ -105,7 +105,7 @@ namespace FreeSql.Internal.CommonProvider { if (indexes == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -148,7 +148,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -165,7 +165,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -216,7 +216,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -233,7 +233,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -250,7 +250,7 @@ namespace FreeSql.Internal.CommonProvider case 2: if (indexes3 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -307,7 +307,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -324,7 +324,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -341,7 +341,7 @@ namespace FreeSql.Internal.CommonProvider case 2: if (indexes3 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -358,7 +358,7 @@ namespace FreeSql.Internal.CommonProvider case 3: if (indexes4 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -421,7 +421,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -438,7 +438,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -455,7 +455,7 @@ namespace FreeSql.Internal.CommonProvider case 2: if (indexes3 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -472,7 +472,7 @@ namespace FreeSql.Internal.CommonProvider case 3: if (indexes4 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -489,7 +489,7 @@ namespace FreeSql.Internal.CommonProvider case 4: if (indexes5 == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { diff --git a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderAsync.cs b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderAsync.cs index 7297122d..bc8b96b6 100644 --- a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderAsync.cs +++ b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderAsync.cs @@ -31,7 +31,7 @@ namespace FreeSql.Internal.CommonProvider { if (indexes == null) { - var sbflag = new StringBuilder().Append("query"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -75,7 +75,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -92,7 +92,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -144,7 +144,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -161,7 +161,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -178,7 +178,7 @@ namespace FreeSql.Internal.CommonProvider case 2: if (indexes3 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -236,7 +236,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -253,7 +253,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -270,7 +270,7 @@ namespace FreeSql.Internal.CommonProvider case 2: if (indexes3 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -287,7 +287,7 @@ namespace FreeSql.Internal.CommonProvider case 3: if (indexes4 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -351,7 +351,7 @@ namespace FreeSql.Internal.CommonProvider case 0: if (indexes1 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -368,7 +368,7 @@ namespace FreeSql.Internal.CommonProvider case 1: if (indexes2 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -385,7 +385,7 @@ namespace FreeSql.Internal.CommonProvider case 2: if (indexes3 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -402,7 +402,7 @@ namespace FreeSql.Internal.CommonProvider case 3: if (indexes4 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { @@ -419,7 +419,7 @@ namespace FreeSql.Internal.CommonProvider case 4: if (indexes5 == null) { - var sbflag = new StringBuilder().Append("QueryAsync"); + var sbflag = new StringBuilder().Append("adoQuery"); var dic = new Dictionary(StringComparer.CurrentCultureIgnoreCase); for (var a = 0; a < dr.FieldCount; a++) { diff --git a/FreeSql/Internal/UtilsExpressionTree.cs b/FreeSql/Internal/UtilsExpressionTree.cs index 6738bcf9..2823edcd 100644 --- a/FreeSql/Internal/UtilsExpressionTree.cs +++ b/FreeSql/Internal/UtilsExpressionTree.cs @@ -1495,7 +1495,8 @@ namespace FreeSql.Internal //判断主键为空,则整个对象不读取 //blockExp.Add(Expression.Assign(readpkvalExp, Expression.Call(rowExp, MethodDataReaderGetValue, dataIndexExp))); - if (trycol?.Attribute.IsPrimary == true) + if (flagStr.StartsWith("adoQuery") == false && //Ado.Query 的时候不作此判断 + trycol?.Attribute.IsPrimary == true) //若主键值为 null,则整行读取出来的对象为 null { ispkExp.Add( Expression.IfThen(