0

下面列出了代码,是我在ado.net中用于多模式搜索的代码,我现在使用实体框架,但我不知道如何用更少的代码完美地编写它

string query = '"SELECT id From user";
if(filter1 != "" || filter2 != "")
{
    query += "where ";
}

if(filter1 != "")
{
    query += "name='" + filter1 + "'";
    if(filter2 != "")
        query += " and "
}

if(filter2 != "")
   query += "name" + filter2;
4

2 回答 2

1

尝试这个:

var result = (from s in db.user
            select s).AsQueryable();

if (filter1 != "")
{
    result = result.Where(x=>x.name == filter1);
}

if (filter2 != "")
{
    result = result.Where(x=>x.name == filter2);
}

var output = result.ToList();
于 2013-11-07T06:57:49.617 回答
0

样本:

YourIQueryableResults.Where(x => filter1!="" && (x.Name == filter1))  

或者

if (filter1!="") { YourIQueryableResults = YourIQueryableResults.Where(x => x.Name == filter1)}  
于 2013-11-07T06:22:35.253 回答