I have an interface IMstTuver
which is implemented by the MstTuver
class. IMstTuver
contains MaxVersion
and Agenttype
parameters.
public class GetTable<T> where T : IMstTuver
{
public IMstTuver GetEntities(DbContext context, string agenttype)
{
long maxVersion = context.Set<T>().Max(x => x.MaxVersion);
IMstTuver mstTuver = context.Set<T>()
.Where(x => x.MaxVersion == maxVersion &&
x.AgentType == agenttype)
.FirstOrDefault();
return mstTuver;
}
}
In my class:
table.GetEntities(MyDbContext, "MSMA") as MstTuver;
I am getting an error
The type 'T' must be a reference type in order to use it as parameter 'TEntity' in the generic type or method 'System.Data.Entity.DbSet'
Please help.