在字符串/ xml中搜索EF

时间:2012-10-01 12:56:30

标签: .net linq entity-framework

我正在开发一个使用EF和mysql的Web应用程序。搜索变得越来越复杂,所以我想创建一个searchTable,我将把我搜索过滤器所需的所有数据放入其中。对于一对一的表格效果很好,但是对于一对多,我应该如何将其保存在一行中?例如经验或资格等问题是如何将该部分放入EF / Linq的搜索条件中?比如获得具有mba资格的用户。

  for (int i = 0; i < searchFilter.Count; i++)
        {
            keyValuePair = searchFilter.ElementAt(i);
            if (keyValuePair.Key.Equals("FullName"))
            {
                whereClause.Add("FullName.Contains(@" + i + ")");
                whereValues.Add(keyValuePair.Value);
            }

           ....


            if (keyValuePair.Key.Equals("City"))
            {
                whereClause.Add("AddressCity.Contains(@" + i + ")");
                whereValues.Add(keyValuePair.Value);
            }
        }

        StringBuilder str = new StringBuilder();
        for (int i = 0; i < whereClause.Count; i++)
        {
            str.Append(whereClause[i]).Append(" && ");
        }

        string strWhere = str.ToString().TrimEnd(" && "); //hypothetical code 


        AcmeDB db = new AcmeDB();
        var searchResult = db.SearchSummaries.Where(strWhere, whereValues);

        return searchResult;

现在,如果我想搜索一下让我们说经验,怎么做?因为这个表包含我需要从每个用户的单行搜索的所有内容,所以我希望在一行中有名称,用户名,地址,资格,经验等。我希望我解释得对吗?

0 个答案:

没有答案