如何正确覆盖EF 4.1中的SaveChanges函数

时间:2012-04-24 14:45:38

标签: asp.net-mvc-3 entity-framework entity-framework-4.1

我需要在我的EF 4.1 MVC3 Web应用程序中创建新订单时自动插入当前日期。我还需要自动添加当前登录的用户 - 我正在使用表单身份验证。 搜索完网页后,我发现我需要覆盖SaveChanges()函数,而StackOverflow上的一篇文章展示了如何执行此操作:Entity Framework 4.1 Automatic date。但是,我无法让代码工作。 这段代码在哪里? 我怎么知道是什么?

很抱歉,如果这个问题很简单 - 我是EF的新手。 乙

1 个答案:

答案 0 :(得分:4)

您可以在上下文类中重写

public partial class YourDbContext: DbContext
    {
      public  YourDbContext()
        {               
        }
      public override int SaveChanges()
      {
       // do your additional stuff here.. (Ex:- save current user)
           return base.SaveChanges();
      }   
}

另一个选项是您可以在实体的构造函数中设置默认值

   Public class YourEntity{

      public YourEntity(){
          CreatedDate=DateTime.Now;
      }

      Public DateTime CreatedDate{get;set;}
   }