【发布时间】:2023-04-06 13:18:01
【问题描述】:
我正在使用一个允许客户创建和导入自定义表的应用程序。我需要允许这些客户针对导入的自定义表构建动态查询,并且我希望能够使用 LINQ 来执行此操作。
我熟悉如何创建动态 LINQ 查询,但是我知道的所有方法都需要 DataContext 对象上的现有映射对象。由于用户能够在运行时创建自定义表(通过动态字符串构建的 SQL),因此任何 DataContext 中都没有映射对象。
有没有办法在运行时动态创建 DataContext 和映射对象以用于动态 Linq 查询?
有没有其他方法可以做到这一点而不求助于字符串构建的 sql?
【问题讨论】:
-
这是通过结合使用反射发射调用来动态构建类型和使用亚音速 IQueryable 引擎来完成的。
标签: c# linq linq-to-sql