gpt4 book ai didi

c# - Odata v4 web api 2.2 上下文当前未跟踪实体

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:37 24 4
gpt4 key购买 nike

使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com