运行最新版本的SubSonic(3.0.0.3)。检索单个记录,进行一次字段更改并调用.Save会在下面的代码中导致空引用异常:
public void Update(IDataProvider provider){
if(this._dirtyColumns.Count>0)
_repo.Update(this,provider);
OnSaved();
}
创建此异常的代码很简单:
DAL.MY_QUEUE l_l_itmEngageItem = MY__QUEUE.SingleOrDefault(x => x.id == each.id);
l_l_itmItem.date_submitted = DateTime.Now;
l_l_itmItem.Update();
任何人都有一些见解? 2.0从来没有给我一个问题。任何帮助非常感谢。
答案 0 :(得分:2)
我经历了完全相同的情况。我能够插入,但不能更新。
我发现原因是桌面上没有设置主键。设置主键后,我就可以更新了。
答案 1 :(得分:1)
它甚至看起来不像您正在检索和更新相同的项目。您正在检索l_l_itmEngageItem
,然后更新l_l_itmItem
上的字段,然后在其上调用Update()。
我猜测l_l_itemItem
尚未初始化为数据库中实际存在的任何内容。
问题可能是你的变量命名;)