Frustrating couple of hours yesterday trying to figure out a 401 Unauthorized error when trying to access an External BCS list programatically using the CSOM.
After jumping through a few well documented gottchas, I finally came stumped on the error on my console:
The remote server returned an error: (401) Unauthorized.
The error came straight after my command:
ctx.ExecuteQuery();
I finally got the tip from forums that the issue related to Alternate Access Mappings.
In my code's settings.xml, I was referring to the FQDN URL: http://machine.domain.ext.com:port
However, in the Namespace of the External Content Type (in SharePoint Designer), it was referring just to http://machine:port.
Once I updated my code to use the same URL as the External Content Type Configuration, it all worked perfectly.