0

表示順序を追跡するために使用される Ordinal という列を持つテーブルがあります。エンティティがその序数の値を変更すると、データベース内の他のレコードは、状況に応じて上下に調整される序数の値を持つ必要があります。llblgen を使用してこれを行う方法はありますか (2.6 アダプター .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 は静的になるため、機能します

また、sprocs またはトリガーを使用してこれを達成できることも知っていますが、可能であれば llblgen を介して実行したいと考えています。

ありがとう、ジェレミー

4

1 に答える 1

1

エンティティの更新で答え、式が見つかりました。

http://www.llblgen.com/documentation/2.6/Using%20the%20generated%20code/gencode_expressionsaggregates.htm#expressionsinentityupdates

于 2009-04-02T23:07:32.777 に答える