如何使用linq删除实体数据

时间:2010-07-13 17:50:39

标签: c# linq linq-to-entities

这段代码给了我这个错误:

  

无法删除该对象,因为   它没有被发现   ObjectStateManager

using (var context = new MvcApplication4.Entity.test2Entities())
            {

                var q = (from t in context.tag
                        where t.tag_id == tag
                        select new
                        {
                            t
                        }).FirstOrDefault();



                if (q != null)
                {
                    context.DeleteObject(q);
                    context.SaveChanges();
                }
            }

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:3)

您正在使用new {t}创建一个匿名对象,该对象恰好包含一个名为Tag的属性Tag,该属性未在ObjectContext中注册。您不必撰写select new {t},只需select t即可返回您的Tag对象。

答案 1 :(得分:0)

尝试选择t而不是使用t作为属性制作匿名对象。