首页 新闻 赞助 找找看

EF中的DeleteObject

0
悬赏园豆:20 [已解决问题] 解决于 2012-11-17 00:26

我在使用EF删除对象的时候找不到这个方法 郁闷的要死 新手 求帮助!

Ganler1988的主页 Ganler1988 | 初学一级 | 园豆:3
提问于:2012-11-16 16:01
< >
分享
最佳答案
0

f_ins.mytest.Remove(obj);

收获园豆:15
Qlin | 老鸟四级 |园豆:2403 | 2012-11-16 17:03

谢谢 解决了 能告诉我为什么吗 

Ganler1988 | 园豆:3 (初学一级) | 2012-11-16 17:10

@Ganler1988: 

你用的是 codefirst

Qlin | 园豆:2403 (老鸟四级) | 2012-11-16 17:46

@Qlin: 啊.....快疯了 怎么还这么多分枝 我是照着别人的博客来做的 说是EF啊 怎么成code-first了

Ganler1988 | 园豆:3 (初学一级) | 2012-11-17 00:25
其他回答(1)
0

你看是不是你建EntityFrameWork时选择错了呢:

然后代码:

  EFDBEntities ef = new EFDBEntities();
:
    T_EFNULL model=ef.T_EFNULL.First();
           ef.DeleteObject(model);

            ef.SaveChanges();

注:model必须是ef里的对象,不能自己New一个对象(T_EFNULL model = new T_EFNULL { ID = 48 };),会报错。无法删除此对象,因为未在 ObjectStateManager 中找到它。

 

Detach 分离实体:

从集合中删除实体,不会删除数据库记录,delete当saveChanges()时会删除数据库的数据

     T_EF model = T_EF.CreateT_EF(500);
            MessageBox.Show("初始化,当前对象状态:"+model.EntityState.ToString());  //detach
            ef.AddToT_EF(model);
            MessageBox.Show("添加后,当前对象状态:" + model.EntityState.ToString());  //added
            ef.Detach(model);
            MessageBox.Show("移除后,当前对象状态:" + model.EntityState.ToString());  //detach
收获园豆:5
在 水 一 方 | 园豆:1097 (小虾三级) | 2012-11-16 16:28

兄弟 我能不能把我的项目发给你 测试的项目 没多大 你帮我看看 如果可以留一个邮箱 谢谢 

支持(0) 反对(0) Ganler1988 | 园豆:3 (初学一级) | 2012-11-16 16:33

public class HelloWorldController : Controller
{

Models.FMVCEntities f_ins = null;

public HelloWorldController()
{
f_ins = new FMVCEntities();
}

public ActionResult del(int ids = 1)
{
var obj = f_ins.mytest.FirstOrDefault(p => p.Id == ids);
f_ins.d//在这里点不出来deleteobject这个方法
return View();
}

//不是自己new出来的model是查找出来的存在的  帮忙

支持(0) 反对(0) Ganler1988 | 园豆:3 (初学一级) | 2012-11-16 16:45

@Ganler1988: luyongqiang2011@163.com 

支持(0) 反对(0) 在 水 一 方 | 园豆:1097 (小虾三级) | 2012-11-16 17:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册