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

bea*_*man 5 entity-framework entity-framework-4.1 asp.net-mvc-3

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

对不起,如果这个问题很简单 - 我是EF的新手.B.

Jay*_*ena 4

您可以在上下文类中重写,

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

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

   Public class YourEntity{

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

      Public DateTime CreatedDate{get;set;}
   }
Run Code Online (Sandbox Code Playgroud)