Luego de mucho luchar ya encontramos el arreglo de esta incógnita que tantos lectores de nuestro sitio web tienen. Si tienes algún dato que compartir no dudes en aportar tu conocimiento.
Solución:
Si nos fijamos en la definición de Db
:
public class DbSet : DbQuery, IDbSet, IQueryable, IEnumerable, IQueryable, IEnumerable, IInternalSetAdapter
where TEntity : class
porque tiene un type constraint
que el tipo genérico debe ser un class
entonces debe inicializarlo con un tipo que también coincida con esta condición:
public class GenericRecordController : Controller where T : class
...
Aparentemente tienen una restricción en el tipo genérico.
Todo lo que necesitas cambiar es:
public class GenericRecordController : Controller where T : class
Esto le dice al compilador que solo se pueden proporcionar tipos de referencia como tipo para T.
También puedes hacerlo con solo un método:
public bool HasKey(T obj) where T : class
return _db.Entry(obj).IsKeySet;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)