2010-03-11 78 views
0

我试图做到这一点:实体框架将现有的两个对象之间的许多一对多的关系,同时更新

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(); 
} 

但是,我得到一个异常,告诉我说:“在ObjectContext中的现有对象处于已添加状态“并且不能”ApplyPropertyChanges“。 如果删除了“ApplyPropertyChanges()”,它将添加一个用户。

这些方法应该被调用什么命令?我不需要单独做他们的权利? 谢谢。

回答

1

它看起来不像我的用户对象被分离,所以你不需要拨打ApplyPropertyChanges()

+0

对,回答导致我找到我的错误,谢谢。 – redbluegreen 2010-03-11 23:15:03

+0

@redbluegreen如果您发现问题的答案,请发布,以便其他人可以受益。 – Andrew 2013-05-14 18:26:01

相关问题