首页 > 后端开发 > C++ > 是否可以从 XML 数据动态生成 LINQ 查询而无需重新编译?

是否可以从 XML 数据动态生成 LINQ 查询而无需重新编译?

Linda Hamilton
发布: 2024-12-31 15:48:18
原创
779 人浏览过

Can LINQ Queries Be Dynamically Generated from XML Data Without Recompilation?

无需重新编译即可动态生成 LINQ 查询

在查询参数源自动态更新的外部数据的场景中,需要生成 LINQ 查询无需重新编译源代码。考虑像 SomeObject 这样具有大量属性的对象。

通过从数据库中存储的 XML 结构中提取条件来动态创建新的 LINQ 查询是否可行?

例如:

var result = from i in someObj
             where 
             //XML requests Name = 'Bob'...so append this where clause
             name = 'Bob'
登录后复制

解决方案使用表达式树

使用表达式树提供了一种可行的方法解决方案:

var param = Expression.Parameter(typeof(SomeObject), "p");
var exp = Expression.Lambda<Func<SomeObject, bool>>(
    Expression.Equal(
        Expression.Property(param, "Name"),
        Expression.Constant("Bob")
    ),
    param
);
var query = someObj.Where(exp);
登录后复制

虽然这种方法要复杂得多,但它在需要动态查询生成的特定场景中提供了解决方案。

以上是是否可以从 XML 数据动态生成 LINQ 查询而无需重新编译?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板