我怎样才能使EF在保存时更新我的​​ModifiedDate?

时间:2013-03-14 06:31:27

标签: c# entity-framework

我使用以下内容:

using System;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;

和以下代码:

   public override int SaveChanges() 
    {
    foreach (var stateinfo in this.ChangeTracker.Entries(DataContext)
        .Where(e => e.Entity is StateInfo && (e.State == EntityState.Added || e.State ==  EntityState.Modified))
        .Select(e => e.Entity as StateInfo))
    ) {
        stateinfo.ModifiedDate = DateTime.Now;
       }
    return base.SaveChanges();
    }

但是这会出错,我看不出原因。错误消息是它说

  

错误3'System.Collections.Generic.IEnumerable'   不包含'Where'的定义,也没有扩展方法   '在哪里'接受第一个类型的论证   'System.Collections.Generic.IEnumerable'   可以找到(你错过了使用指令或程序集   引用?)

2 个答案:

答案 0 :(得分:0)

请导入System.Linq namespace

答案 1 :(得分:0)

由于Enumerable.Where<T>方法属于System.Linq命名空间,因此您需要将其添加到代码的顶部。来自 MSDN ;

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

但.. 来吧,这确实是一个基本问题。您可以使用Google找到您的解决方案,只需几秒钟。请稍微努力解决问题;)