views:

44

answers:

2

This code is giving me this error:

The object cannot be deleted because it was not found in the 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();
                }
            }

Am I missing something here?

+3  A: 

You are creating an anonymous object with new {t} that just happens to contain a property called t of type Tag, which is not registered in the ObjectContext. You don't have to write select new {t}, just select t will return your Tag object.

Panagiotis Kanavos
A: 

Try just selecting t and not making an anonymous object with t as a property.

NickLarsen