2014-10-21 3 views
1

работает над конечной точкой с помощью C# - пытается добавить роль пользователю (таблицы шаблонов .NET) пытается определить правильный способ обновления таблицы отношений.Odata v4 web api 2.2 контекст в настоящее время не отслеживает объект

var context =new WebClient.Default.OptimizedContextContainer(new Uri("service_hostUri")); 
context.Format.UseJson(); 

User userToUpdate = context.User.ByKey(new Dictionary<string, object>() { { "userId", Guid.Parse("some_guid" } }).GetValue(); 

Role roleToAdd = context.Role.ByKey(new Dictionary<string, object> { { "roleId", Guid.Parse("some_guid" } }).GetValue(); 

userToUpdate.Roles.Add(roleToAdd); 
context.UpdateObject(userToUpdate.Roles); 

context.SaveChangesAsync(); 

код не на UpdateObject вызова для обновления пользователей роли - «Контекст не в настоящее время отслеживает объект» -Если я устранил вызов UpdateObject и просто использовать saveChangesAsAsync нет никакой ошибки, но роль не добавил как я могу добавить роль пользователю таким образом?

ответ

0

С навигационными свойствами, которые являются коллекции вы должны использовать

AddToObject(userToUpdate,"Roles",RoleToAdd) 

вместо

context.UpdateObject(userToUpdate.Roles); 

и удалить

userToUpdate.Roles.Add(roleToAdd); 
Смежные вопросы