2

私は以下を使用しています:

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' の最初の引数を受け入れる拡張メソッド 'Where' が見つかりませんでした (ディレクティブまたはアセンブリ参照を使用していますか?)

4

2 に答える 2

0

Enumerable.Where<T>メソッドは名前空間に属している ためSystem.Linq、コードの先頭に追加する必要があります。MSDNから;

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

しかし..さあ、これは本当に基本的な問題です。あなたはほんの数秒でGoogleを使用してあなたの解決策を見つけることができます。問題を解決するためにもう少し努力を示してください;)

于 2013-03-14T06:36:30.433 に答える
0

インポートしてくださいSystem.Linq namespace

于 2013-03-14T06:33:37.333 に答える