使用 C# 处理端点 - 尝试向用户添加角色(样板 .NET 用户表) 尝试确定更新关系表的正确方法。
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 则没有错误,但未添加角色 如何以这种方式向用户添加角色?
最佳答案
导航属性是您应该使用的集合
AddToObject(userToUpdate,"Roles",RoleToAdd)
代替
context.UpdateObject(userToUpdate.Roles);
并移除
userToUpdate.Roles.Add(roleToAdd);
关于c# - Odata v4 web api 2.2 上下文当前未跟踪实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489222/