Why should I prefer Business Connectivity Services (BCS) over plain ADO.NET, if all I want are simple CRUD operations on an external database (e.g. remote Oracle Database), which are made from a custom webpart/control.

I found a lot of articles about BCS, but none has convinced me using BCS instead of ADO.NET for this task.

It looks like BCS is a good choice if I don't write custom code (farm solution) and want to use the OOTB Webparts to display remote content, right?

Any thougts on this?


BCS is great for rapid connection to an external datasource through SPD. And as you say: with it you can use the OOTB list WebParts etc. and als have have direct access even through the OData API. Without writing a single line of code. In SP2013 you even have the possibility to register Remote Event Receivers. Aswell as security features not to forget. So for that it is realy pretty cool. But there is a downsize i have experienced: Speed. (at least in 2010) They are pretty slow in comparison with self written ado.net components. I once had writen a solution for displaying some nested information in pretty big data source. BCS was horribly slow. So i wrote a REST-ish Service with an ado.net Backend and it run like hell. Queries went from 16sec in BCS down to <1sec in ado.net.

  • So, you wrote your own code using ado.net and exposed it via a REST api? Did you then use BCS to expose that REST service to SharePoint, or did you just have some ajax calls that consumed the REST service and displayed the data within SharePoint?
    – tyshock
    Jan 24 '14 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.