linq to sql不在where子句中的字符串周围加引号

时间:2008-11-19 20:09:06

标签: linq linq-to-sql

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

实施例

string name = "John";
var query = from n in db.Names where n.Name == name select n;

结果是

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

网络是varchar(10),TNT是从字符串变量(不称为John; - )填充的。

奇怪的是......有时它会这样做,有时却没有!

想法?

1 个答案:

答案 0 :(得分:1)

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

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

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