如何在linq查询中转换unicode?

时间:2014-07-18 12:20:11

标签: c# linq

我的数据库中有两个表:InvoiceDetailProductDetail。我想写一个搜索条件,如果我搜索产品或客户端,它将显示相关的发票。这是我的searchClickevent代码。

错误The query syntax is not valid. Near term '>', line 6, column 136.

protected void SearchInvoiceButton_Click(object sender, EventArgs e)
{ 
    String WhereClause = "it.UserID==@UserID AND it.IsDeleted == false AND (it.ClientDetail.ClientName LIKE '%' + @SearchTerm + '%') OR (it.InvoiceDetail.Any(p=>p.ItemName))";
    EntityDataSourceInvoice.Where = WhereClause;
    ViewState["InvoiceViewWhereClause"] = WhereClause;

    if (EntityDataSourceInvoice.WhereParameters["SearchTerm"] != null)
    {

        EntityDataSourceInvoice.WhereParameters["SearchTerm"].DefaultValue = SafeSearchLiteral(SearchTextBox.Text.Trim());
    }

    else
    {
        Parameter CategoryParameter = new Parameter("SearchTerm", System.Data.DbType.String, SafeSearchLiteral(SearchTextBox.Text.Trim()));
        CategoryParameter.ConvertEmptyStringToNull = false;
        EntityDataSourceInvoice.WhereParameters.Add(CategoryParameter);
    }        
    InvoiceGrid.DataBind();
    InvoiceGrid.AllowPaging = false;
    InvoiceGrid.AllowPaging = true;
}

1 个答案:

答案 0 :(得分:0)

试试这个: -

我不知道class / table / EntityDatasource结构,但我想这应该可行,改变只是在哪里: -

String WhereClause = "it.UserID==@UserID AND it.IsDeleted == false 
AND ((it.ClientDetail.ClientName LIKE '%' + @SearchTerm + '%') 
OR (it.ItemName LIKE '%'+ @SearchTerm + '%'))";
相关问题