我需要向测试人员显示数据库表。现在,我已经对显示每个表数据的查询进行了硬编码:用户单击表名列表,服务器返回一个包含该表所有数据的gridview。查询非常简单:
var AllTheTable = (from t in MyDataContactTableName
select t).ToList();
我想添加一个文本框,测试人员可以在运行时输入自定义的linq-to-sql查询。
我该怎么做?
感谢。
答案 0 :(得分:2)
Linq不像SQL那样工作 - 你需要通过编译器运行linq-to-sql查询,因为它们最终是编译的C#代码。为什么不让用户能够运行SQL查询?无论哪种方式,你都会遇到许多安全隐患,但只有SQL,它们只能搞乱你的数据库。使用linq-to-sql,它们可能会危害您的Web服务器。
如果这是一个内部项目,其中安全性不是问题,而您只是想让测试人员对SQL数据进行任意访问,请让他们编写SQL。
答案 1 :(得分:1)