The following code snippets are taken from a demonstration video included in Module 6 of the Getting Started Course for SharePoint 2010 Developers (http://www.mssharepointdeveloper.com)

This first snippet defines a simple class that was used in the demo. This class is used to represent the Customer entity, and contains public properties that match the columns in a SQL Server table.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CustomerBCS.BdcModel1
{
    public partial class Customer
    {
        public Int32 CustomerID { get; set; }
        public string CustomerName { get; set; }
        public string City { get; set; }
    }
}

The following code implements the methods used in the Business Data Catalog Model for working with the data represented by the Customer class shown above. The code includes a helper function called getSQLConnection, and three methods for working with the data in the external data store.
NOTE: The ReadItem method is the implementation of the SpecificFinder-type method, the ReadList method is the implementation of the Finder-type method, and the Delete method is the implementation of the Deleter-type method

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace CustomerBCS.BdcModel1
{
    public class CustomerEntityService
    {
        static SqlConnection getSqlConnection()
        {
            SqlConnection sqlConn = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Customers;Data Source=MOSS");
            return (sqlConn);
        }
        public static Customer ReadItem(int id)
        {
            Customer cust = new Customer();
            SqlConnection sqlConn = getSqlConnection();
            sqlConn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "SELECT CustomerID, Customer, City"
                + " FROM Customer"
                + " WHERE CustomerID = " + id.ToString();
            cmd.Connection = sqlConn;
            SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            if (rdr.Read())
            {
                cust.CustomerID = int.Parse(rdr[0].ToString());
                cust.CustomerName = rdr[1].ToString();
                cust.City = rdr[2].ToString();
            }
            else
            {
                cust.CustomerID = -1;
                cust.CustomerName = "Customer Not Found";
                cust.City = "";
            }
            sqlConn.Dispose();
            return cust;
        }
        public static IEnumerable<Customer> ReadList()
        {
            SqlConnection sqlConn = getSqlConnection();
            try
            {
                List<Customer> allCustomers = new List<Customer>();

                sqlConn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = sqlConn;
                cmd.CommandText = "SELECT CustomerID, Customer, City FROM Customer";
                SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                while (rdr.Read())
                {
                    Customer cust = new Customer();
                    cust.CustomerID = int.Parse(rdr[0].ToString());
                    cust.CustomerName = rdr[1].ToString();
                    cust.City = rdr[2].ToString();
                    allCustomers.Add(cust);
                }
                Customer[] customerList = new Customer[allCustomers.Count];
                for (int custCounter = 0; custCounter <= allCustomers.Count - 1; custCounter++)
                {
                    customerList[custCounter] = allCustomers[custCounter];
                }
                return (customerList);
            }
            catch (Exception ex)
            {
                string TellMe = ex.Message;
                Customer[] customerList = new Customer[0];
                Customer cust = new Customer();
                cust.CustomerID = -1;
                cust.CustomerName = "Unable to retrieve data";
                cust.City = "";
                customerList[0] = cust;
                return (customerList);
            }
            finally
            {
                sqlConn.Dispose();
            }
        }
        public static void Delete(int customerID)
        {
            SqlConnection sqlConn = getSqlConnection();
            sqlConn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = sqlConn;
            cmd.CommandText = "DELETE Customer WHERE CustomerID = "
                + customerID.ToString();
            cmd.ExecuteNonQuery();

            sqlConn.Dispose();
        }
    }
}