使用用户可自定义的linq-to-sql查询构建测试页

时间:2012-01-18 20:25:27

标签: c# asp.net linq-to-sql

我需要向测试人员显示数据库表。现在,我已经对显示每个表数据的查询进行了硬编码:用户单击表名列表,服务器返回一个包含该表所有数据的gridview。查询非常简单:

var AllTheTable = (from t in MyDataContactTableName
                   select t).ToList();

我想添加一个文本框,测试人员可以在运行时输入自定义的linq-to-sql查询。

我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:2)

Linq不像SQL那样工作 - 你需要通过编译器运行linq-to-sql查询,因为它们最终是编译的C#代码。为什么不让用户能够运行SQL查询?无论哪种方式,你都会遇到许多安全隐患,但只有SQL,它们只能搞乱你的数据库。使用linq-to-sql,它们可能会危害您的Web服务器。

如果这是一个内部项目,其中安全性不是问题,而您只是想让测试人员对SQL数据进行任意访问,请让他们编写SQL。

答案 1 :(得分:1)

我的建议是不要重新发明轮子并向他展示LINQPad:)

http://b.roozz.com/apps/61/LINQPad.htm

LINQPad example