我试图在我的 C #/MVC/Entity Framework 应用程序上创建一个通用控制器。
public class GenericRecordController<T> : Controller
{
private DbSet<T> Table;
// ...
public action()
{
// ...
db.Entry(T_Instance).State = System.Data.Entity.EntityState.Modified;
}
}
但是,DbSet<T>
和 T_Instance
行有一个编译器错误。
类型
T
必须是引用类型才能将其用作参数。
当我把它限制为 class
时,它就解决了。
Controller where T : class
这个错误是什么意思?我不是要求一个解决方案,我想知道为什么会出现这个错误,为什么将它限制为 class
可以解决它。