I encountered this error when I deploy a plug-in to CRM online environment. I tested the same plug-in in on premises environment and it works without any error.
The plugin read and write to entity A and entity B (they have no relationships). The plug-in is triggered when entity A records are created and it retrieve all records from entity B and process them.
The error was thrown when it tries to save changes to entity B, with this error message: The context is not currently tracking the <<entity B>> entity
It suggested the services context does not track <<entity B>> in the scope. I researched this topic and found out I need to use OrganizationServiceContext.Attach Method. However when I use this method it returns with this error: The context is already tracking the <<entity B>> entity. :(
And did more research and found that it actually need to detach the object ( OrganizationServiceContext.Detach Method) before it can be attached.
This makes no sense to me but this is the work around.
This Blog is to document some founding related to my work experience, most of them are related to Microsoft Technology,
Thursday, 22 March 2012
Tuesday, 13 March 2012
CRM 2011 Plug-in error: Object reference not set to an instance of an object.
Problem/Error:
When I create an instance of object from the sdk generated
code by using the default constructor like:
email.regardingobjectid = new CrmEntityReference();
I will find it return a null object:
This is not the result I wanted because the object does not
have correct structure and when I try to assign a value to the object (in this
case is regardingobjectid)
it will throw a NullReferenceException error like this:
Solution
The solution is relatively simple by using a different
constructor and it will give a correct object:
email.regardingobjectid = new CrmEntityReference("contact", contact.contactid);
Subscribe to:
Posts (Atom)