C# context is already tracking the entity, azure active directory graph api. add group member

六眼飞鱼酱① 提交于 2019-12-13 01:34:58

问题


I am trying to add member to azure active directory group but it fails it showing me following error.

context is already tracking the entity

I tried to found lot for it, I also see this links

Azure Active Directory Graph Client 2.0 - Context is not currently tracking the entity

http://blogs.msdn.com/b/aadgraphteam/archive/2014/12/12/announcing-azure-ad-graph-api-client-library-2-0.aspx

But I not get any success please help me.

This is my code :

try
        {
            ActiveDirectoryClient client = ADGraphHelper.GetActiveDirectoryClient();
            IGroupFetcher groupFetcher = client.Groups.GetByObjectId(groupId);
            Group group = (Group)(await groupFetcher.ExecuteAsync());
            string[] userIds = userId.Split(',');
            foreach (string id in userIds)
            {
                if (id != "")
                {
                    IUser user = client.Users.Where(u => u.ObjectId == id).ExecuteAsync().Result.CurrentPage.ToArray().First();
                    if (user != null)
                    {
                        //check wather user aleady present into group or not
                        IDirectoryObject userExists = group.Members.Where(u => u.ObjectId == id).FirstOrDefault();
                        if (userExists == null)
                        {
                            group.Members.Add(user as DirectoryObject);
                        }
                    }
                    else
                        throw new Exception("User is null.");
                }
            }
            await group.UpdateAsync();
            return Json(new { success = true });
        }
        catch (Exception ex)
        {
            ModelState.AddModelError("", "we connot process your request please contact to support for more details.");
// error handling code.
            return PartialView();
        }

回答1:


Hey everyone I found what is issue now in this. it was the bug on the old Graph client library. it is solved in the Graph client library 2.0, So please use Graph client library 2.0 or higher.

This is the link where you can download latest graph client library: https://www.nuget.org/packages/Microsoft.Azure.ActiveDirectory.GraphClient/



来源:https://stackoverflow.com/questions/34964513/c-sharp-context-is-already-tracking-the-entity-azure-active-directory-graph-api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!