ToSql 如何安全的还原参数? 返回

SqlSugar
8 383

image.png

我需要 

Func<IDbCommand> dbCommandFactory

 

用这个对象来执行Sql ,至于为什么 , 因为这个是DbUp的对象。

热忱回答8

  • fate sta fate sta VIP0
    2022/5/12

    var sqlserverAdo=(SqlServerProvider)db.Ado;


    SqlParameters pars=sqlserverAdo.GetSqlParameter(sugarparameters);

    0 回复
  • @fate sta:想问问 , 这个ORM , 有没有什么办法 ,在ToSql的时候 , 直接帮手把 SugarParameter 已经放好了 , 拿到完整的Sql呢? 有的时候找问题 , 还需要我自己向里面放参数 。 

    参数多的时候 , 要自己手动替换半天 。 

    0 回复
  • @fate sta:并且很不幸 , 那个DbUp貌似没有办法通过 Commend.Execute(sqlString,sqlParameters ) ; 这样子安全执行对象 。 我也很尴尬。感觉有点捞了 , 但是在添加一些常用的枚举表的数据的时候 , 可以很好的保证 DEV 的枚举数据与PRD的枚举数据的同步。

    0 回复
  • hp9999 hp9999 VIP0
    2022/5/13

    完整sql 方便调试,支持一下。

    0 回复
  • fate sta fate sta VIP0
    2022/5/13

    @Aaron 傲: 这个自个replace  很难兼容到和驱动一样

    0 回复
  • fate sta fate sta VIP0
    2022/5/13

    后面出一个简单的

    0 回复
  • @fate sta: 自己replace容易出问题  ,比如  @EnumName,@EnumNameDesc   , 这个时候我出 replace("@EnumName","") ,那么第二个参数就会错误的被替换了. 

    至于那个DbUp的问题 , 请你忽略 , 我今天已经解决了 , 是我使用的问题 ,它本身是没有问题的. 

    0 回复
  • fate sta fate sta VIP0
    2022/5/13

    @Aaron 傲:很简单根据Length倒叙 排序然后替换就不会出错

    0 回复