entity framework inserting a many-to-many relationship between two existing objects while updating

Posted by redbluegreen on Stack Overflow See other posts from Stack Overflow or by redbluegreen
Published on 2010-03-11T20:51:14Z Indexed on 2010/03/11 20:54 UTC
Read the original article Hit count: 359

I'm trying to do this:

using(var context = new SampleEntities())
{
     User user = select a user from database;

     //Update user's properties
     user.Username = ...
     user.Website = ...

     //Add a role
     Role role = select a role from  database  
     //trying to insert into table UserRoles which has columns (UserID, RoleID)  
     user.Roles.Add(role); 

     //Apply property changes
     context.ApplyPropertyChanges("Users", user);
     context.SaveChanges();
}

However, I get an exception telling me that "The existing object in the ObjectContext is in the Added state" and can't "ApplyPropertyChanges". If "ApplyPropertyChanges()" is removed, it adds a User.

What orders should these methods be called? I don't need to do them separately right? Thanks.

© Stack Overflow or respective owner

Related posts about entity-framework

Related posts about many-to-many