asp.net MVC - 实体框架删除记录



我正在尝试从表 store 中删除记录,但我在代码中识别DeleteObject时遇到了问题。我有参考资料

using System.Linq;
using System.Data.Entity;
using System.Data.Objects;

但它仍然不起作用。我正在使用MVC 4使用Visual Studio 2012.

public void Delete()
{
    using (var db = new AppContext())
    {
        var query_D = (from b in db.Stores
                   where b.storeID == 1
                   select b).First();
        db.DeleteObject(query_D);
        db.SaveChanges();
    } 
}

提前致谢

我意识到您正在使用带有VS2012的MVC 4,默认情况下实体框架版本为5。

现在你delete的方式来自EF4.

以下是使用EF5 delete的正确方法

using (var db= new AppContext(ConnectionStr))
{
    try
    {
        con.Configuration.AutoDetectChangesEnabled = false;
        var o = new Store { Id = 1 };
        db.Stores.Attach(o);
        db.Stores.Remove(o);
        db.SaveChanges();
    }
    catch (Exception ex)
    {
        throw new Exception(ex.InnerException.Message);
    }
    finally
    {
        con.Configuration.AutoDetectChangesEnabled = true;
    }
}

只需使用

db.Entry(query_D).State = System.Data.EntityState.Deleted;

你应该试试:

db.Stores.Remove(query_D);
db.SaveChanges();

相关内容

  • 没有找到相关文章

最新更新