2

ODSControllerでUpdateメソッドを使用する場合(つまり、ASP.NETアプリケーションでGridView / FormViewを使用する場合)、null値をnull許容列に渡す場合、null許容列の値は変更されません。

これは、updateメソッドがActiveRecordをインスタンス化して更新する方法によるものです。

public void Update(Guid MyKey, ...)
{
    MyItem item =  new MyItem();
    item.MarkOld();
    item.IsLoaded = true;
    ...
    item.Save(UserName);
}

空のMyItemインスタンスを作成し(すべてのフィールドがnull)、null許容フィールドをnullに設定しても、DirtyColumnsコレクションで列を終了することはできません(ActiveHelper GetUpdateCommandを参照)。

これを解決するために、データベース内のすべてのテーブルに対してカスタム更新関数を作成する必要がありますか?

4

0 に答える 0