使用IConditionalModel动态查询时,如何避免参数超长的问题? 返回
SqlSugar
沟通中
3
756
悬赏:0 飞吻
例如我的字段名为 AAAAA_AAAAA_AAAAA_AAAAA_AAAAA, 已经超过30位了,在常规lambda查询时的注入配置是有效的:
if (column.PropertyName.Length > 20)
{
column.SqlParameterDbType = typeof(CommonPropertyConvert);
}我现在在构建动态的查询,需要用到IConditional,怎么样也能用类似上面的做法保证参数化之后不超过30位?
// 通过自定义的WhereModels构建CondtinalModels
IEnumerable<IConditionalModel> conditionalModels = pagedQueryModel.WhereModels.Select(a => new ConditionalModel
{
ConditionalType = (ConditionalType)a.Conditional,
FieldName = GetDbColumnName<T>(a.FieldName, isBaseEntity), // 此处的FieldName存在字段超过30位或接近30位的情况
FieldValue = a.FieldValue,
CSharpTypeName = a.CSharpTypeName
});
query = query.Where(conditionalModels.ToList());
热忱回答(3)
-
fate sta VIP0
2024/12/7IsAutoCloseConnection =true,DbType = DbType.Oracle,ConnectionString = Connection,MoreSettings =newConnMoreSettings(){MaxParameterNameLength = 30//设置最大长度}0 回复 -
fate sta VIP0
2024/12/7看一下这个参数生不生效,如果不生效我在处理一下
0 回复 -
Boss Zhou VIP0
2024/12/9@fate sta:谢谢回复。 已经验证,确实有效!
0 回复