实体框架通用存储库查询

时间:2018-03-16 14:56:47

标签: c# generics frameworks repository entity

我在下面有这个功能,我想把T定义为一个类。这可能吗。 IsActive和RecordStatusCode位于每个模型类中。有可能以这种方式查询。感谢

    public IQueryable<T> GetActive()
    {
        return DbContext.Set<T>().Where(x => x.IsActive && x.RecordStatusCode == "A");
    }

2 个答案:

答案 0 :(得分:0)

试试这个:

public IQueryable<T> GetActive()
    {
       var t = typeof(T);  
       var isActiveProperty = t.GetProperty("IsActive");
       var recordStatusCodeProperty=  t.GetProperty("RecordStatusCode");

     return DbContext.Set<T>().Where(x => (bool)isActiveProperty.GetValue(x, null) && recordStatusCodeProperty.GetValue(x, null).ToString() == "A");
    }

答案 1 :(得分:0)