There are many reasons why you may want to create an External List in C# programmatically, for example as part of a Feature activation event or some other automated process.
For this example I have created an External Content Type from the Products table in the AdventureWorks2000 database. We need to know a few properties of our External Content Type before we can begin. If you have used BCS Meta Man to create your ECT these values should be as follows:
LobSystemInstance – BCSMetaManInstance
EntityNamespace – BCSMetaMan
Entity – dbo_Product
SpecificFinder – GetSingledbo_ProductEntityByID
1, Open Visual Studio 2010 and create a new console application.
2, Add the following references to the project:
3, Here’s the code you can paste into your console application to create
SPListDataSource ds = new SPListDataSource();
using (SPSite site = new SPSite(“http://localhost”))
using (SPWeb web = site.RootWeb)
web.Lists.Add(“Products”, “External Products List”, “Lists/Products”, ds);
Now if you run your console application this code will step through and create an External List for you, hooking the dbo_Product External Content Type as the data source. It’s interesting to note a few old Business Data Catalog terms around here!