Azure Active Directory Graph Client 2.0 - 上下文当前未跟踪该实体

时间:2014-12-12 12:13:24

标签: c# .net-4.5 azure-active-directory

我最近安装了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();

我无法在进行Google搜索时发现任何与Azure Active Directory图形客户端库相关的错误,因此我们非常感谢您提供的任何帮助。

3 个答案:

答案 0 :(得分:5)

我们刚刚发布了Graph客户端库的更新,修复了这个问题。 您现在应该可以将成员添加到组。该机制与使用AddLinks略有不同(希望更简单)。

我们还有一个新的博客描述了客户端库,其中讨论了这个和许多其他事情:http://blogs.msdn.com/b/aadgraphteam/archive/2014/12/12/announcing-azure-ad-graph-api-client-library-2-0.aspx

供参考,要将成员添加到组中:

{groupObject} .Members.Add({entityObject} as DirectoryObject);

例如,要使用新用户成员更新组:

myGroup.Members.Add(userToBeAdded as DirectoryObject); 等待myGroup.UpdateAsync();

注意:可以使用相同的构造将用户添加到DirectoryRole对象。可以将组和用户添加到组中,但是,目前只有用户可以添加到DirectoryRole。

希望这有帮助,

答案 1 :(得分:2)

我遇到了同样的问题,文档也不是很清楚,所以这可能对其他人有帮助。您无法将用户添加为phpinfo(); exit; 的成员,只能添加到IGroup。您也无法将Group添加到IDirectoryObject集合,但只能添加Members。您必须首先投射DirectoryObjectIUser个对象。以下代码是我目前正在处理的代码:

IGroup

答案 2 :(得分:0)

我尝试了这种新语法,但仍无效。

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

我在execption消息中有几乎相同的错误文本:上下文已经跟踪关系

有关该问题的任何新闻?谁能猜到为什么会这样?

我也试过manage.windowsAzure.com用户界面,仍无法添加用户!我收到此错误:无法将成员添加到群组&#39; myAzAD_group&#39;