【问题标题】:Dynamic LINQ Query in LINQ to Entities , problem with WHERE clauseLINQ to Entities 中的动态 LINQ 查询,WHERE 子句的问题
【发布时间】:2011-04-03 00:16:58
【问题描述】:

对于我的生活,我无法弄清楚这是什么问题:

tempData= from a in dx.SomeTable select a;

string searchField="ItemName";
string searchString="BoxPkg";

object[] parameters=new object[]{searchField,searchString};
tempData = tempData.Where("@0 like @1", parameters);

我收到此错误“{“预期'布尔'类型的表达式”}“

【问题讨论】:

  • 必须是tempdata.Where("@0.Contains(@1)"); 吗?
  • 运行时错误。 BTW .Contains 似乎没有给出任何运行时错误,但它没有给我正确的结果。我有一行将“Dent”作为我搜索的字符串值的一部分。但是当我运行这个查询时,它没有显示该记录。
  • 还有什么建议吗?我现在有点坐在这个问题上 2 天:|

标签: asp.net linq dynamic


【解决方案1】:

我认为您不能将属性名称 (ItemName) 指定为参数 (@0)。试试这个:

tempData= from a in dx.SomeTable select a;

string searchField="ItemName";
string searchString="BoxPkg";

object[] parameters=new object[]{searchString};
tempData = tempData.Where(searchField + " like @0", parameters);

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多