Context中不存在DeleteObject

时间:2013-06-29 16:26:45

标签: asp.net entity-framework

我正在使用vs 2012和dot net 4,我有一个模型文件夹,其中包含我的模型“Default.aspx”我使用

> using MyProjectName.Model;

但是当我试图删除一些数据时,它说“DeleteObject”方法不存在!

using (var context = new Entities())
                    {
                        (from ur in context.Module_Users_Info where ur.UserID == comarg select ur).ToList().ForEach(context.DeleteObject);

                    }

2 个答案:

答案 0 :(得分:3)

问题是DbContext没有DeleteObject方法,只有ObjectContext,你可以通过转换来获取基础对象上下文。

((IObjectContextAdapter)context).ObjectContext.DeleteObject

答案 1 :(得分:3)

使用DbContext,您可以使用DbSet<T>.Remove代替ObjectContext.DeleteObject,其目的与从数据库中删除实体相同:

using (var context = new Entities())
{
    (from ur in context.Module_Users_Info
     where ur.UserID == comarg
     select ur)
    .ToList()
    .ForEach(ur => context.Module_Users_Info.Remove(ur));
}