我有一个简单的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; - )填充的。
奇怪的是......有时它会这样做,有时却没有!
想法?
答案 0 :(得分:1)
我在所有LINQ to SQL中看到的每个实例都使用了参数化查询,所以我不知道你是如何得到那个输出的......它应该更符合以下几行:
WHERE ([t0].[Name] = @p0)
--@p0 VARCHAR John
如果你将context.log设置为console.out,你可以看到所有sql正在执行..我只是建议这样做以确保发生了什么。