是否可以使用字符串连接而不是标识符执行linq查询?

时间:2012-03-23 21:19:43

标签: c# dynamic-linq

我的查询工作正常

var queryItems = rawQuery.ObsDataResultList.AsQueryable().Where("Name = @0 AND AuthoredDate = @1" +, selectedItem, dateKey).ToList();

我想将查询更新为

var queryItems = rawQuery.ObsDataResultList.AsQueryable().Where("Name = @0 AND AuthoredDate = " + dateKey.ToString(), selectedItem).ToList();

请注意,我唯一更改的是删除标识符。现在,我收到错误

  

运算符'='与操作数类型'DateTime不兼容?'和'Int32'

如何在不恢复原始查询的情况下修复错误?

1 个答案:

答案 0 :(得分:3)

你缺少引号:

.Where("Name = @0 AND AuthoredDate = \"" + dateKey + "\"")

尽管如此破坏你的代码似乎是一个非常糟糕的主意。您的原始查询似乎要好得多。