DeleteObject 方法不来

Posted

技术标签:

【中文标题】DeleteObject 方法不来【英文标题】:DeleteObject Method doesn't come 【发布时间】:2012-02-22 19:29:20 【问题描述】:

这是我删除链接的代码。当我尝试 db.deleteobject.. deleteobject 方法没有显示在那里。我该怎么办。

[HttpPost]
        public ActionResult LinkDelete(int id)
         
            AralContainer db = new AralContainer("VefatilaniCS");
            Link lnk = db.Links.Where(x => x.Id == id).SingleOrDefault();
            db.Links.DeleteObject(lnk);  // This is the line i got error 
            db.SaveChanges();
            return View();
        

【问题讨论】:

什么是 AralContainer?您是否包含对 System.Data.Entity 的引用?我不建议您将代码与数据库和 Web 混合在一个地方。 AralContainer 是我的 DataContext,我在引用中添加了 system.data.entity。我不明白为什么它不来。这是完整的错误。 错误 2 'System.Data.Entity.DbSet' 不包含 'deleteobject' 的定义,并且没有扩展方法 'deleteobject' 接受类型的第一个参数'System.Data.Entity.DbSet' 可以找到(您是否缺少 using 指令或程序集引用?) C:\Users\Murat\Desktop\Aralreklam.Vefatilani - 复制 - 复制- 复制\Aralreklam.Vefatilani.UI.Web\Areas\Admin\Controllers\HomeController.cs 184 22 Aralreklam.Vefatilani.UI.Web 方法是Remove(),但我猜你同时发现了。 【参考方案1】:

使用这个:

Link lnk = db.Links.SingleOrDefault(x => x.Id == id)

Where().Single() 实际上返回的是 DbSet,这不是你想要的 :)

【讨论】:

【参考方案2】:

您可能忘记添加对某些程序集的引用。检查您的网络应用是否有以下引用:

System.Data.Entity (using System.Data.Entity)
using System.Linq

而且,顺便说一下 System.Data.Entity 没有任何 DeleteObject,只有 Remove()

【讨论】:

以上是关于DeleteObject 方法不来的主要内容,如果未能解决你的问题,请参考以下文章

为啥 deleteObject: 导致 CoreData 故障?

如何正确使用 LoadImage 和 DeleteObject?

核心数据:-deleteObject:崩溃,删除规则是原因吗?

deleteObject: 如何在 coreData 中工作?

崩溃:commitEditingStyle -deleteObject 为零

核心数据:deleteObject 使应用程序崩溃,NSPredicate 是啥原因?