错误:“TEntity”类型必须是引用类型

时间:2013-04-01 08:51:28

标签: entity-framework generics reflection

public partial class GridMastercontrol<TEntity> : UserControl
{
private System.Data.Objects.ObjectSet<TEntity> _osMain; // error here
}

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

错误讯息是 - 类型&#39; TEntity&#39;必须是参考类型才能将其用作参数&#39; TEntity&#39;在泛型类型或方法中#System; Data.Objects.ObjectSet&#39;

1 个答案:

答案 0 :(得分:6)

将通用约束添加到类声明中:

public partial class GridMastercontrol<TEntity> : UserControl where TEntity : class

你必须这样做,因为ObjectSet<TEntity>已经有一个:

public class ObjectSet<TEntity> : ObjectQuery<TEntity>, 
        IObjectSet<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>, 
        IQueryable, IEnumerable
where TEntity : class