OnPropertyChange作为实体框架中触发器的替代方案

时间:2010-04-06 19:49:07

标签: .net entity-framework triggers

我是Entity Framework的新手,请原谅我的无知。我们有一个使用SQL Server和ADO.Net编写的简单应用程序。现在我们有了一个新的要求,即每当我们的应用程序更新特定行时,就会发生一些业务逻辑。我一直在研究SQL服务器中的触发器,看起来我们可以使用触发器来完成它。我也在关注Entity Framework的OnPropertyChange功能。是否可以使用“OnPropertyChange”来完成它?

我的意思是,我可以创建一个模型并实现“OnPropertyChange”方法吗?当我们的应用程序使用ADO.Net修改行时,它会触发“OnPropertyChange”事件,以便我的“OnPropertyChange”中的客户代码执行吗?

1 个答案:

答案 0 :(得分:5)

只要数据库表本身发生操作,就会发生触发器。如果执行更新并具有更新触发器,则无论您是使用实体框架还是直接针对该表编写更新语句,都会发生这种情况。以下是SQL Server Triggers的参考资料。

修改 如果您希望发生与数据库相关或不相关的自定义业务逻辑,则可以执行以下操作:

    private string _myProperty;    
    public string MyProperty
    {
        get 
        {
            return _myProperty;
        }
        set
        {
              if (_myProperty != value)
              {
                 _myProperty = _value;
                 OnPropertyChanged("MyProperty");
                 DoSomethingWithMyProperty(_myProperty);
               }
          }
     }

DoSomethingWithMyProperty方法中,您可以执行任何操作,无论是更新UI还是数据库。