Add Queryable.In

This commit is contained in:
sunkaixuan
2023-09-28 18:33:48 +08:00
parent e183cc607b
commit 93ae2c913f
3 changed files with 16 additions and 1 deletions

View File

@@ -751,7 +751,11 @@ namespace SqlSugar
}
private void ThrowUpdateByExpressionByMesage(string message)
{
Check.Exception(UpdateParameterIsNull == true, ErrorMessage.GetThrowMessage(" no support "+ message, "根据对像更新 db.Updateabe(对象) 禁止使用 SetColumns和Where ,你可以使用 "+ message + "。 更新分为2种方式 1.根据表达式更新 2.根据实体或者集合更新 具体用法请查看文档 "));
Check.Exception(UpdateParameterIsNull == true, ErrorMessage.GetThrowMessage(" no support "+ message, "根据表达式更新 db.Updateable<T>()禁止使用 " + message+"。 更新分为2种方式 1.根据表达式更新 2.根据实体或者集合更新 具体用法请查看文档 "));
}
private void ThrowUpdateByObjectByMesage(string message)
{
Check.Exception(UpdateParameterIsNull == false, ErrorMessage.GetThrowMessage(" no support " + message, "根据对象更新 db.Updateable(对象)禁止使用 " + message + "。 更新分为2种方式 1.根据表达式更新 2.根据实体或者集合更新 具体用法请查看文档 "));
}
}
}

View File

@@ -902,6 +902,16 @@ namespace SqlSugar
result.Where(sql.Key, sql.Value);
return result;
}
public IUpdateable<T> In(object[] ids)
{
ThrowUpdateByObjectByMesage(" In(object[] ids) ");
List<IConditionalModel> conditionalModels = new List<IConditionalModel>();
var column = this.EntityInfo.Columns.FirstOrDefault(it => it.IsPrimarykey);
Check.ExceptionEasy(column == null, "In need primary key", "In需要实体有主键");
conditionalModels.Add(new ConditionalModel() { FieldName= column.DbColumnName, ConditionalType= ConditionalType.In,FieldValue=string.Join(",",ids),CSharpTypeName=column.UnderType?.Name } );
return this.Where(conditionalModels);
}
#endregion
}

View File

@@ -119,6 +119,7 @@ namespace SqlSugar
IUpdateable<T> Clone();
IUpdateable<T,T2> InnerJoin<T2>(Expression<Func<T,T2,bool>> joinExpress);
UpdateablePage<T> PageSize(int pageSize);
IUpdateable<T> In(object[] ids);
}
public interface IUpdateable<T, T2>
{