代码之家  ›  专栏  ›  技术社区  ›  JeremyWeir

llblgenpro-如何直接基于谓词更新数据库字段值

  •  0
  • JeremyWeir  · 技术社区  · 16 年前

    我有一个表,其中有一列名为ordinal,用于跟踪显示顺序。当一个实体更改其序数值时,数据库中的其他记录需要根据情况调整其序数值,可以是向上调整,也可以是向下调整。有没有办法通过llblgen来实现这一点(2.6 adapter.net 3.5)?

    我需要生成的查询是这样的…

    update MyTable set Ordinal = Ordinal + 1 where Ordinal >= @newOrdinal
    
    update MyTable set Ordinal = Ordinal - 1 where Ordinal <= @newOrdinal and ordinal > @oldOrdinal
    
    update MyTable set Ordinal = Ordinal + 1 where Ordinal >= @newOrdinal and Ordinal < @oldOrdinal
    
    update MyTable set Ordinal = Ordinal - 1 where Ordinal > @oldOrdinal
    

    我不认为

    adapter.UpdateEntitiesDirectly(newValues, filter);
    

    将起作用,因为当我需要从字段的当前值中加或减时,newValues将是静态的。

    我也知道我可以使用存储过程或触发器来实现这一点,但如果可能的话,我想通过llblgen来实现。

    谢谢, 杰瑞米

    1 回复  |  直到 16 年前