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; } ///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./// set de context /// public OperacionesModelo(DbContext _context) { if (this.context == null) throw new ArgumentException("context can't be null"); this.context = _context; } }
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