LINQ-to-SQL:为什么我不能使用表名作为参数?

标签 linq linq-to-sql dynamic-sql

为什么这是不可能的:

... new DB().ExecuteQuery<String>(@"Select {0} From {1} ", selectParam, tableParam);

这会引发以下异常:必须声明表变量“@p1”。

谢谢

最佳答案

@  before the "" says to compiler that this is a string nothing else

在这里阅读 http://msdn.microsoft.com/en-us/library/362314fe(v=vs.71).aspx
Must declare the table variable "@p0"好像不一样
Edited : 不要使用表名作为参数最好只使用你的表名,它会导致sql注入(inject)请阅读

http://en.wikipedia.org/wiki/SQL_injection

关于LINQ-to-SQL:为什么我不能使用表名作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895589/

相关文章:

c# - LINQ 等于 - 它在幕后调用什么?

c# - LINQ数据库

linq - 学习 LINQ to SQL

sql - 编写可怕的 SQL 搜索查询(第二阶段)

c# - 在 linq 中使用 out 类型

c# - Linq 选择哪里

c# - 将缺失的日期添加到列表中

c# - LINQ to SQL是否支持t-sql "in"语句

TSQL -- 将日期插入动态 SQL

sql - 如果不存在则创建 PostgreSQL ROLE (user)