views:

193

answers:

1

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.

+1  A: 

It doesn't look to me like your User object is detached, so you shouldn't need to call ApplyPropertyChanges().

Dave Swersky
Right, answer led me to find my mistake, thanks.
redbluegreen