I have seen a few good posts on updating BDC data columns from workflows utilizing web service tasks but haven't seen any that are straight to the point and work well for all situations.  The specific situation in the scenario I wanted to solve was updating a BDC list item based on a part number entered into the title column so that users could reference associated data.  I did this by passing the site, list id and row id as a parameter to a ASP.Net web service from a Nintex Workflow.  Here is the webservice code to find the list row and update the BDC data column without using the _ID hidden fields.<!--more--><span style="font-size: x-small;">SPSite mySite = </span><span style="color: #0000ff; font-size: x-small;"><span style="color: #0000ff; font-size: x-small;">new</span></span><span style="font-size: x-small;"> SPSite(site);SPWeb myWeb = mySite.OpenWeb();

SPList myList = myWeb.Lists[list];

 

SPListItem item = myList.Items.GetItemById(id);

<font size="2">BusinessDataField field =

</font></span>

<span style="color: #0000ff; font-size: x-small;"><span style="color: #0000ff; font-size: x-small;">new</span></span><span style="font-size: x-small;"> BusinessDataField(item.Fields, "BDCColumn");<font size="2">item[field.RelatedField] = EntityInstanceIdEncoder.EncodeEntityInstanceId(

</font></span>

<span style="color: #0000ff; font-size: x-small;"><span style="color: #0000ff; font-size: x-small;">new</span></span><span style="font-size: x-small;"> </span><span style="color: #0000ff; font-size: x-small;"><span style="color: #0000ff; font-size: x-small;">object</span></span><span style="font-size: x-small;">[] { "BDCValue" });<font size="2">item[Column Name

</font></span>

<span style="font-size: x-small;">] = bdcid;item.Update();

</span>

 Good Luck!