1

私は次のlinqを持っています:

     var wcd = dbContext.Programs.Where(p => p.Id == Id).ToList();
     dbContext.DeleteObject(wcd); 
     SaveChanges();

モデルにDeleteObjectの定義がないというメッセージが表示されます。SaveChanges()などはできます。

私は次のことを試しました:

        var wcd = dbContext.Programs.Where(p => p.Id == Id).ToList();
        dbContext.Programs.Remove(wcd);   

しかし、私は次のようになります'System.Data.Entity.DbSet.Removeに最適なオーバーロードされたメソッドの一致にはいくつかの無効な引数があります

4

1 に答える 1

4

それはDbContextですか?その場合は、DbSetの一部であるRemoveを使用する必要があります。

編集:

リストをループして、個別に削除する必要があります。

foreach (var wc in wcd.ToList())
{
    dbContext.Programs.Remove(wc);
}
dbContext.SaveChanges();
于 2012-10-10T19:57:59.607 に答える