gpt4 book ai didi

c# - 将 LINQ 查询转换为字符串,发送到远程服务器以使用 Roslyn 解析为表达式?

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:44 25 4
gpt4 key购买 nike

我有一个数据源,例如 IDataSource : IEnumerable<IDynamicObject>

一个实现是查询纯 XML 数据,另一个是查询 SQL 数据库。

我的数据源没有具体类型,只针对简单的模式类型工作。

在某些情况下,这些数据源在相同的运行时上下文中实例化,而在其他情况下,它们通过网络访问。

我无法使用 LINQ 查询我的数据源,我计划使用动态对象来仅提取和解析作为实际查询一部分的成员值。

这在相同的运行时上下文中运行时工作正常,但是当数据源位于远程服务器上的 Web 服务后面时,这会失败,因为我无法以我所知道的任何方式将 LINQ 与 Web 服务一起使用。

所以我一直在寻找一种方法,将我的 LINQ 查询格式化为字符串并将其发送到服务器,然后将其解析回表达式并在新的上下文中执行它。

我能找到的两种解析表达式的方法是 Dynamic LINQFLEE .我只简单地看过它们,但它们似乎都无法将表达式格式化为字符串并对其进行解析?

我已经阅读了有关 Roslyn 项目的信息,并在想也许它可以用于解决这个问题?有人知道更多吗?

我看过一些 IQueryable<TData>也一样,但我读过很多关于它的负面信息,所以也许我应该避免使用它。而且它是强类型的,不符合我的需要,因为我不希望数据服务器上有任何具体类型。我也看不出这是如何在网络服务上使用的,是强类型的吗?我错过了什么吗?

最佳答案

Roslyn 最终将使您能够采用字符串形式的 LINQ 表达式,对其进行解析和计算。但是,当前公开的 CTP(2011 年 10 月发布的)不支持 LINQ 表达式。

关于c# - 将 LINQ 查询转换为字符串,发送到远程服务器以使用 Roslyn 解析为表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9647983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com