Entity framework 错误:类型为';张力';必须是引用类型 公共部分类GridMastercontrol:UserControl { private System.Data.Objects.ObjectSet _osMain;//此处出错 }

Entity framework 错误:类型为';张力';必须是引用类型 公共部分类GridMastercontrol:UserControl { private System.Data.Objects.ObjectSet _osMain;//此处出错 },entity-framework,generics,reflection,Entity Framework,Generics,Reflection,我无法声明泛型类型的对象集。 请帮我怎么做 错误消息是- 类型“tenty”必须是引用类型,才能将其用作泛型类型或方法“System.Data.Objects.ObjectSet”中的参数“tenty”将泛型约束添加到类声明中: public partial class GridMastercontrol<TEntity> : UserControl { private System.Data.Objects.ObjectSet<TEntity> _osMain; //

我无法声明泛型类型的对象集。 请帮我怎么做

错误消息是-
类型“tenty”必须是引用类型,才能将其用作泛型类型或方法“System.Data.Objects.ObjectSet”中的参数“tenty”

将泛型约束添加到类声明中:

public partial class GridMastercontrol<TEntity> : UserControl
{
private System.Data.Objects.ObjectSet<TEntity> _osMain; // error here
}
public部分类GridMastercontrol:UserControl其中tenty:class
您必须这样做,因为
ObjectSet
已经有一个:

public partial class GridMastercontrol<TEntity> : UserControl where TEntity : class
公共类ObjectSet:ObjectQuery,
IObjectSet、IQueryable、IEnumerable、,
可数的,可数的
地点:班级

不过,昨天我自己解决了问题。但是,谢谢你的解决方案。它是有效的。。。
public class ObjectSet<TEntity> : ObjectQuery<TEntity>, 
        IObjectSet<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>, 
        IQueryable, IEnumerable
where TEntity : class