2012-02-13 18 views
2

これは私を狂ってしまいます。私は私の友人が作成した別のedmxのファイルから別のオブジェクトを参照しようとしましたが、その後、すべてがうまくあるEntity Framework 4.1にDeleteObjectメソッドがありません

ctx.Tanks.DeleteObject(Tank); 

:私はここに

object doesn't contain definition for DeleteObject.

してエラーが発生したコードの私のラインであるというエラーを取得しています、DeleteObjectが存在します。私は自分のプロジェクトで何の参照も欠けているとは思わない。

プロジェクト自体にedmxファイルがあり、私はを使ってPOCOを作成しました。

アイデア?

+0

エンティティフレームワークの同じバージョンを同じテンプレートで使用していますか? – Chriseyre2000

答えて

21

DbContext APIは、ObjectSetではなく、DbSetです。 DbSetRemoveメソッドではありませんDeleteObjectメソッドです。最初に、どのAPIを使用するかを決定する必要があります。 ObjectContextまたはDbContextの場合

+0

ありがとうございます。私は昨日それを理解した。 – bobetko

+0

したがって、DBContextでは、ObjectcontextでDeleteObjectのように、親とすべての子を削除する方法はありませんか? – DavieDave

+0

@DavieDave 'DbSet'で行うことができます。子テーブルに対してカスケード削除を設定した場合、自動的に削除されます。 – Eranga

0
[HttpPost] 
     public ActionResult Delete(IEnumerable<int> employeeIdsToDelete) 
     { 
      var lstemployee = _db.StudentEmployees.Where(x => employeeIdsToDelete.Contains(x.Id)); 
      foreach (var item in lstemployee) 
      { 
       _db.StudentEmployees.Remove(item); 
      } 
      _db.SaveChanges(); 

      return RedirectToAction("Index"); 
     } 
+0

この投稿には既に回答がありました。あなたが貢献したいのであれば、追加の詳細と文脈で答えを広げてください。 – CubeJockey

関連する問題