【问题标题】:linq to sql not putting quotes around strings in where clauselinq to sql不在where子句中的字符串周围加上引号
【发布时间】:2010-09-23 02:57:26
【问题描述】:

我有一个简单的 Linq to SQL 查询,它通过字符串使用 where 子句提取数据。结果查询不会在字符串周围加上引号。

例子

字符串名称=“约翰”; var query = from n in db.Names where n.Name == name select n;

结果是

.... WHERE ([t0].[Name] = John) ....

Network 是一个 varchar(10),而 TNT 是从一个字符串变量(不叫 John ;-) 填充的。

奇怪的是……有时会这样,有时不会!

想法?

【问题讨论】:

    标签: linq linq-to-sql


    【解决方案1】:

    我在所有 LINQ to SQL 中看到的每个实例都使用参数化查询,所以我不知道你是如何得到那个输出的。它应该更符合以下几点:

    WHERE ([t0].[Name] = @p0)
    --@p0 VARCHAR John
    

    如果您将 context.log 设置为 console.out,您可以看到所有 sql 正在执行。我建议这样做只是为了确保正在发生的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 2016-03-22
      • 1970-01-01
      相关资源
      最近更新 更多