【问题标题】:DeleteObject Method doesn't comeDeleteObject 方法不来
【发布时间】: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(),但我猜你同时发现了。

标签: asp.net-mvc entity-framework-4.1 entity


【解决方案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()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2018-03-01
      相关资源
      最近更新 更多