Estoy utilizando el primer enfoque de código de entidad de marco y estoy creando una clase de Repositorio genérico que proporciona acceso a datos. En esta clase, quiero un método Add(T entity)
. Sin embargo, no hay InsertOnSubmit
método como parte de la clase DbSet<T>
, y si trato de utilizar el método Add
, me sale un error de compilación tiempo:InsertOnSubmit equivalente en DbContext.DbSet utilizando el código de Entity Framework 4 primero
The type 'TEntity' must be a reference type in order to use it as parameter 'TEntity' in the generic type or method 'System.Data.Entity.DbContext.Set<TEntity>()'
Este es el método:
public TEntity Add(TEntity entity)
{
return _database.Set<TEntity>().Add(entity);
}
Alguien sabe una forma de evitar esto?
Gracias
para uso personal, podría pedir que lo "_database" está en su aplicación? Estoy intentando hacer un método como el tuyo y se queja del método Set ... ¡Gracias de antemano! –
yeh man, el campo _database es del tipo DbContext, que se encuentra en el marco de la entidad. eche un vistazo al blog de ScotGu sobre el uso del primer enfoque del código de entity framework 4, es realmente simple: http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework -4.aspx – jcvandan
Gracias. Tomo una lectura. Tengo una pregunta adicional: P el método .Set, ¿cuál es el código para eso? Tomé una muy rápida en el articulo, y no detecté ese método. Esa es la última parte del código que necesito para completar mi proyecto. Usted es más que bienvenido para recibir mi correo si me envió el código del método .Set. : D –