【问题标题】:Is it possible for me to use string formatting or equivalent in LINQ-to-SQL?我是否可以在 LINQ-to-SQL 中使用字符串格式或等效格式?
【发布时间】:2017-02-01 20:34:22
【问题描述】:

我的 LINQ 查询有一段类似

where dataContext.MyTable.Any(r => $"%{r.Name}%" == name)

导致异常

“方法'System.String Format(System.String, System.Object)'没有 支持 SQL 的翻译

可以做我想做的事情还是我必须求助于编写原始 SQL?

【问题讨论】:

  • 为什么是原始 SQL?只需将$"%{name}%" 分配给查询外部的变量并在内部使用即可。
  • @IvanStoev,哎呀,我倒退了一些东西。观看我的编辑。

标签: c# .net sql-server linq tsql


【解决方案1】:

不要使用字符串插值(在下面使用String.Format),只需使用字符串连接:

where dataContext.MyTable.Any(r => ("%" + r.Name + "%") == r.Name)

【讨论】:

  • @DrainTheSwamp - 这就是为什么在使用快捷方式时了解幕后发生的事情总是有帮助的原因。随意投票/接受。
猜你喜欢
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多