从dbcontext中的方法返回通用表

时间:2015-09-29 15:06:23

标签: c# entity-framework generics

如何在DBContext中返回泛型类型的表我试过这个但是得到错误?

任何人都可以帮助解决这个问题。

    public  T  DeviceExist<T>(string DeviceId, int ImageId)
    {
     return DBContext.T.Where(d => d.DeviceId == DeviceId && d.ImageId == ImageId).FirstOrDefault();           
    }

1 个答案:

答案 0 :(得分:2)

假设您的泛型类型T继承自具有属性DeviceIdImageId的基类,您可以使用:

DBContext.Set<T>().Where(d => d.DeviceId == DeviceId && d.ImageId == ImageId).FirstOrDefault();

不要忘记在通用类/存储库的T约束中指定where继承的基类。