生成过滤我的实体数据的通用函数

时间:2018-04-23 13:15:05

标签: c# entity-framework unit-of-work

我有以下字段的实体(学生)

int code;
string name ;
bool active;

我想创建泛型函数,我将其作为参数传递给字符串条件 喜欢

"where active = 1" 

并且此函数将查询提到的实体。

如以下示例

public List<Student> getdatafiltered(string condition)
{
    return context.students.where(condition).Tolist();
}

要调用函数,它将调用如下两个示例

getdatafiltered("where active = 1");

getdatafiltered("where name like'%myname%'");

1 个答案:

答案 0 :(得分:1)

您可以将Expression<Func<Student, bool>>传递给方法:

public List<Student> GetDataFiltered(Expression<Func<Student, bool>> condition)
{
    return context.students.Where(condition).ToList();
}

用法:

var students = GetDataFiltered(s => s.Active == 1);