我正在开发一个项目,用户需要使用复杂的Linq语句生成报告查询以生成数据集。
我能想到编译这些用户生成的查询然后执行它们的最佳方法是使用CSharpCodeProvider对象构建程序集,然后将结果存储在数据库blob中。
这个过程有什么问题吗?另外,如何限制用户程序集的权限只允许针对我提供的有限对象集执行?
谢谢!
答案 0 :(得分:1)
您不必将查询保存为生成的程序集。一种更简单的方法是保存针对数据库执行的SQL以备将来使用。使用DataContext的GetCommand方法获取SQL并将其作为“已保存”查询保留。