【发布时间】:2016-01-22 16:52:54
【问题描述】:
我有一个问题,我想从我的泛型类中获取表格:
public virtual TEntity GetById(int id)
{
return _db.Set<TEntity>().FirstOrDefault(c => ((IEntity)c).Code == id);
}
但是Linq 不能投射IEntity
public abstract class BaseRepository<TEntity, M> : IRepository<TEntity> where TEntity : class where M : new()
如果将 TEntity : class 替换为 TEntity : IEntity 我会收到此错误:
类型“TEntity”必须是引用类型才能在泛型类型或方法“System.Data.Entity.DbContext.Set()”中用作参数“TEntity”
【问题讨论】:
标签: c# entity-framework linq generics