Pues mira el tema es bastante largo la manera mas "eficiente-profesional" es
como sigue
tratare de explicarlo, primero tienes una BD (base de datos), a ella accedes mediante clases usas librerias de SQL, este nivel se conoce como capa DAO (data access object); ahora bien la siguiente capa es BO (Bussiness Objects) la primer capa lee/guarda los datos la segunda maneja los datos, un ejemplo con codigo:
public class SolicitudDAO : NHibDAOAbstracto, ISolicitudDao
// Hereda del DAO abstracto definido en NHibernateCore e implementa ISolicitudDao
// para no hacer uso directo del DAO abstracto
{
public List DarSolicitudesXSolicitante(Solicitante s, Nullable Desde, Nullable Aprobadas)
{
string criterios = "FROM Solicitud a WHERE a.Solicitante.ID = " + s.ID.ToString();
if (Desde != null)
criterios += " and Fecha_soli >=" + ((DateTime)Desde.Value).ToShortDateString();
if (Aprobadas != null)
{
if (Aprobadas == true)
criterios += " and Aprobada=1";
else
criterios += " and Aprobada=0";
}
IDaoFabrica daoFabrica = new DAOFabrica();
ISolicitudDao soliDao = daoFabrica.GetSolicitudDao();
List solicitudes;
solicitudes = soliDao.Find(criterios);
return solicitudes;
}
public Solicitud DarSolicitudXid(int id)
{
IDaoFabrica daoFabrica = new DAOFabrica();
ISolicitudDao soliDao = daoFabrica.GetSolicitudDao();
Solicitud s = soliDao.GetById(id, false);
return s;
}
}
El codigo lo extraje de la siguiente direccion:
http://metodologiasdesistemas.blogspot.com/2007/11/desarrollar-en-3-capas-con-net-y.html
saludos.