Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics CRM (Archived)

how to get Entity reference id in plugin

Posted on by Microsoft Employee

if (entity.LogicalName == "account")
{
Entity Account = (Entity)service.Retrieve(context.PrimaryEntityName, context.PrimaryEntityId, new ColumnSet(true));
tracingService.Trace("1");
Guid ContactGuid = Account.Id;
tracingService.Trace("9");
//throw new Exception("Contact guid" + ContactGuid);
//objContact = service.Retrieve("contact", ContactGuid, new ColumnSet(new string[] { "new_account" }));
Entity objContact = (Entity)service.Retrieve("contact", ((EntityReference)Account.Attributes["new_account"]).Id, new ColumnSet(true));
tracingService.Trace("2");
string Updatename = Account.GetAttributeValue<string>("name");
tracingService.Trace("3");
objContact.Attributes["fullname"] = Updatename;
tracingService.Trace("4");
string Updateemail = Account.GetAttributeValue<string>("emailaddress1");
tracingService.Trace("5");
objContact.Attributes["emailaddress1"] = Updateemail;
tracingService.Trace("6");
string Updateaddress = Account.GetAttributeValue<string>("address1_composite");
tracingService.Trace("7");
objContact.Attributes["address1_composite"] = Updateaddress;

service.Update(objContact);
}

*This post is locked for comments

  • Suggested answer
    Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: how to get Entity reference id in plugin

    Hi,

    This is how you need to get the id of your target entity;

    namespace Plugins

    {
        public class PluginName : IPlugin
        {
            public void Execute(IServiceProvider serviceProvider)
            {
                ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
                IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
                IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
                IOrganizationService service = Connection.CRMDefault();
    
                if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
                {
                    Entity entity = (Entity)context.InputParameters["Target"];
    
                    string id = entity.Id.ToString();
                }
            }
        }
    }

    Hope it helps
    Regards,

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,280 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,214 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans