我有一个ASP.NET 3.5应用程序,我希望允许用户选择一个表并允许该表上的CRUD操作。用户将被限制在许多表中进行编辑,但是在部署之后才能知道表甚至数据库; web.config将设置连接和表。
所以我需要构建一个框架,允许更新SQL数据库中的通用表。我见过的大多数ORM都需要在编译时知道模式,所以我不能使用它们。最好的答案似乎是动态构建SQL查询字符串并使用reg表达式来确保有效输入并防止SQL注入。还有更好的方法吗?
答案 0 :(得分:0)
是。数据集和数据表对象怎么样?您可以通过动态sql语句填充它们,将它们直接绑定到一个好的编辑器网格控件,并且架构和列数据类型检查应该是快速的。在ORM和Linq之前我们做过什么?!?!
答案 1 :(得分:0)
Dynamic Linq图书馆令人难以置信。您可以将所有内容指定为字符串,除了表名。
(来源:scottgu.com)
http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
但是,请查看如何通过动态映射DataContext来了解如何在运行时选择表:
http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/09/27/25294.aspx