System.Linq.Dynamic.ParseException:'Operator'>'与操作数类型“DateTime”不兼容?和'Int32''

时间:2018-02-07 11:01:26

标签: c# entity-framework linq parsing dbset

如何正确解析 sdate

   IQueryable bddata = Junior2KepwareContext.Set(type)
       .Where($"C_NUMERICID == {idLinea}")
       .Where("C_TIMESTAMP > "+ startDate )
       .OrderBy("C_TIMESTAMP");
  

System.Linq.Dynamic.ParseException:'Operator'>'与操作数类型“DateTime”不兼容?和'Int32''

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要使用参数:

IQueryable bddata = Junior2KepwareContext.Set(type)
   .Where($"C_NUMERICID == {idLinea}")
   // @0 is first parameter in the list, @1 is second etc
   .Where("C_TIMESTAMP > @0", startDate) // startDate is of type DateTime, not string
   .OrderBy("C_TIMESTAMP");

最好始终使用参数而不是内联值(例如,也可以将其用于idLinea)。