楽観的ロック

こんなことが出来たらいいなぁ、と妄想。

namespace My.Dao
{
    [Bean(typeof(User))]
    public interface IUserDao
    {
        // 楽観的ロック
        // WHEREにプライマリキーだけでなく、更新するカラムも追加する
        [OptimisticLock]
        int Update(User user, User before);

        // WHEREにプライマリキーだけでなく、すべてのカラムを追加する
        [OptimisticLock(All=true)]
        int Update(User user, User before);
    }
}

実装してみようかと思いましたが、挫折。(^^;

(追記) DataSetじゃないんだから、変更前の値を渡さないと駄目ですね。素で勘違い。(^^;