将报告程序集(.net)存储在数据库中

时间:2009-11-19 15:59:28

标签: c# database assemblies compilation

我正在开发一个项目,用户需要使用复杂的Linq语句生成报告查询以生成数据集。

我能想到编译这些用户生成的查询然后执行它们的最佳方法是使用CSharpCodeProvider对象构建程序集,然后将结果存储在数据库blob中。

这个过程有什么问题吗?另外,如何限制用户程序集的权限只允许针对我提供的有限对象集执行?

谢谢!

1 个答案:

答案 0 :(得分:1)

您不必将查询保存为生成的程序集。一种更简单的方法是保存针对数据库执行的SQL以备将来使用。使用DataContext的GetCommand方法获取SQL并将其作为“已保存”查询保留。