Azure Active Directory 图形客户端 2.0 - 上下文当前未跟踪实体
本文关键字:上下文 实体 跟踪 Directory Active 图形 客户端 Azure | 更新日期: 2023-09-27 18:34:06
我最近安装了 Azure Active Directory 图形客户端库 2.0.2 Nuget 包,但无法将成员添加到组,同时将组添加到组或将用户添加到组 调用 AddLink 函数时收到以下错误:
"[System.InvalidOperationException] = {"上下文当前未跟踪实体。
我的代码:
IGroup group = azureClient.Groups.GetByObjectId("Guid here").ExecuteAsync().Result;
IGroup groupToAdd = azureClient.Groups.GetByObjectId("Guid here").ExecuteAsync().Result;
azureClient.Context.AddLink(group, "Members", groupToAdd);
azureClient.Context.SaveChanges();
我无法从谷歌搜索中找到与Azure Active Directory图形客户端库相关的此错误的任何提及,因此任何有关此的帮助将不胜感激。
我们刚刚发布了 Graph 客户端库的更新,修复了此问题。您现在应该能够向组添加成员。 该机制与使用AddLinks略有不同(希望更简单)。
我们还有一个描述客户端库的新博客,其中讨论了这个和许多其他事情:http://blogs.msdn.com/b/aadgraphteam/archive/2014/12/12/announcing-azure-ad-graph-api-client-library-2-0.aspx
作为参考,将成员添加到组:
{组对象}。Members.Add({entityObject} as DirectoryObject);
例如,要使用新用户成员更新组:
myGroup.Members.Add(userToBeAdd as DirectoryObject);await myGroup.UpdateAsync();
注意:相同的构造可用于将用户添加到目录角色对象。 可以将组和用户添加到组中,但是,目前只能将用户添加到目录角色。
希望这有帮助,
我遇到了同样的问题,文档不是很清楚,所以也许这会对其他人有所帮助。您不能将用户添加为IGroup
的成员,而只能添加到Group
。也不能将IDirectoryObject
添加到Members
集合,而只能添加DirectoryObject
s。必须先强制转换IUser
对象并IGroup
对象。以下代码是我目前的工作:
var graphClient = new ActiveDirectoryClient(new Uri(ConfigHelper.GraphServiceRoot), async () => await GetUserTokenAsync(cache));
var actualUser = await graphClient.Users.GetByObjectId(matchedUser.ObjectId).ExecuteAsync();
var actualGroup = (Group) await graphClient.Groups.GetByObjectId(matchedGroup.ObjectId).ExecuteAsync();
actualGroup.Members.Add(actualUser as DirectoryObject);
await graphClient.Context.SaveChangesAsync();
我尝试了这种新语法,但仍然不起作用。
public async Task<Result<dynamic>> addUserToAzureGroup(Group AzGroup, User AzUser)
{
// link the found user with the found group
try
{
AzGroup.Members.Add(AzUser as DirectoryObject);
await AzGroup.UpdateAsync();
}
catch (Exception ex)
{
Exception myEx = new Exception(ex.Message);
retResult.Exception = myEx;
return retResult;
}
return retResult;
}
我在执行消息中有几乎相同的错误文本:上下文已经在跟踪关系
关于这个问题有什么消息吗?谁能猜到为什么会这样?
我也尝试了manage.windowsAzure.com
UI,但仍然无法添加用户!我收到此错误:无法将成员添加到组"myAzAD_group"。