Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF ChangeTracker.Entries()。其中未识别_C#_Entity Framework_Asp.net Mvc 4 - Fatal编程技术网

C# EF ChangeTracker.Entries()。其中未识别

C# EF ChangeTracker.Entries()。其中未识别,c#,entity-framework,asp.net-mvc-4,C#,Entity Framework,Asp.net Mvc 4,使用VS2010 SP1 MVC4和EF6。我有一个非常通用的代码。它的目的是获取DateCreated和DateModified属性,并在每次保存时填充它们 foreach (var history in this.ChangeTracker.Entries() .Where(e => e.Entity is IModificationHistory && (e.State == EntityState.Added || e.State == Enti

使用VS2010 SP1 MVC4和EF6。我有一个非常通用的代码。它的目的是获取DateCreated和DateModified属性,并在每次保存时填充它们

foreach (var history in this.ChangeTracker.Entries()
    .Where(e => e.Entity is IModificationHistory && (e.State == EntityState.Added ||
      e.State == EntityState.Modified))
    .Select(e => e.Entity as IModificationHistory))
{
    history.DateModified = DateTime.Now;
    if (history.DateCreated == DateTime.MinValue)
    {
        history.DateCreated = DateTime.Now;
    }
}
int result = base.SaveChanges();
我在
.Where
上遇到一个错误。当我将
放在
Entries()
之后时,intellisense没有为
Where
提供选项,只有5个标准
GetType
等。如果我删除Where子句,则.Select将显示错误


代码怎么了?

威尔是正确的-我没有using语句。非常尴尬。谢谢。

您的错误是什么?您是否缺少使用System.Linq的
指令?是的,它是使用指令。请注意,您应该使用
这个.ChangeTracker.Entries()
。遇到了相同的问题。威尔·雷,完美接球。了解新事物,VS智能不适用于扩展方法。感谢Gert Arnold建议了另一种方法,不用.Where()从ChangeTracker中提取IModificationHistory对象