在ODSController上使用Update方法(即在ASP.NET应用程序中使用GridView / FormView)并将空值传递给可空列时,可以为空的列值保持不变。
这是由于update方法实例化ActiveRecord以进行更新的方式:
public void Update(Guid MyKey, ...)
{
MyItem item = new MyItem();
item.MarkOld();
item.IsLoaded = true;
...
item.Save(UserName);
}
通过创建一个空的MyItem实例(所有字段都为null)并将可空字段设置为null,不允许该列在DirtyColumns集合中完成(请参阅ActiveHelper GetUpdateCommand)。
我是否要为我的数据库中的每个表编写自定义更新函数来解决此问题?