ASP.net动态数据 - OnPropertyChanging不更新其他列

时间:2009-07-15 00:30:35

标签: asp.net-mvc linq-to-sql dynamic-data

这是我的代码:

 partial void OnisApprovedChanging(bool value)
 {            
    this.dateApproved = DateTime.Now;         
 }

'dateApproved'在业务逻辑中更新,但此更改未应用于数据库表。我已经看到了一些示例,其中每当对表进行任何编辑时都会更新DateUpdated列,但是我只对更新此字段时更新时间戳感兴趣并且我不确定访问该字段的最佳方式来自此范围的DataContext。

我是否需要实例化数据上下文并手动更新?

编辑 做了更多研究,发现有些博客建议在更新时添加业务逻辑,如下所示:

public partial class DataContext : System.Data.Linq.DataContext
{
   partial void Updateaccount(account instance)
   {
       //business logic here      
   }
}

但是,我无法确定是否有任何方法可以确定特定字段是否已更改。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

发现这是获取原始实体并进行比较的方法。

partial void Updateaccount(account instance)
{            
   account acctPriorToUpdate = accounts.GetOriginalEntityState(instance);
   if (instance.isApproved != acctPriorToUpdate.isApproved)
   {
       //Do Stuff
   }            
   this.ExecuteDynamicUpdate(instance);   
}