Lo primero es crear una clase donde vamos a crear todas nuestras operaciones genéricas.
Para este caso, vamos a crear la clase de la forma más simple y rápida posible, aunque es posible realizar mejores implementaciones, que voy a explicarles en otras entradas.
public class OperacionesModelo
{
}
Ahora para poder acceder a nuestro modelo necesitamos un referencia al contexto. Que no es más, que el objeto que nos va a permitir realizar consultas y/o cambios sobre nuestro conjunto de datos.
public class OperacionesModelo
{
//propiedad para acceder al contexto
private DbContext context { get; set; }
///
/// set de context
///
public OperacionesModelo(DbContext _context)
{
if (this.context == null)
throw new ArgumentException("context can't be null");
this.context = _context;
}
}
Creamos una propiedad context, y agregamos el constructor de la clase, que recibe el contexto con el cual vamos a realizar las consultas y/o cambios sobre nuestro conjunto de datos.
Ahora si, creamos nuestro método agregar genérico que recibe como parámetro el objeto a ser agregado en nuestro conjunto de datos; y retorna el objeto insertado.
public class OperacionesModelo
{
//propiedad para acceder al contexto
private DbContext context { get; set; }
///
/// set de context
///
public OperacionesModelo(DbContext _context)
{
if (this.context == null)
throw new ArgumentException("context can't be null");
this.context = _context;
}
///
/// agrega un objeto
///
public T Agregar(T entity)
{
try
{
if (entity == null)
throw new ArgumentException("entity can't be null");
//agrega el objeto
this.context.Set().Add(entity);
//guarda los cambios
this.context.SaveChanges();
return entity;
}
catch (Exception exec)
{
throw new ApplicationException(exec.Message, exec.InnerException);
}
}
}
El método creado valida el objeto, agrega el objeto al contexto, guarda y por último retorna el objeto agregado.
No hay comentarios:
Publicar un comentario