gpt4 book ai didi

c# - Linq-to-sql 查询中的动态类型

转载 作者:行者123 更新时间:2023-11-30 12:36:32 25 4
gpt4 key购买 nike

我正在尝试重构当前使用反射的查询:

var dbObjects = from d in collection  
where d.GetType().GetProperty("Id").GetValue(d, null) == id
select d;

我想在编译时不知道“d”是什么类型的情况下使用动态类型来访问“d”上的属性 Id。像这样:

var dbObjects = from (dynamic)d in collection  
where d.Id == id
select d;

这可能吗?...出于兴趣,它是否更快,或者动态运行时是否在幕后使用了反射?

谢谢,

艾伦

最佳答案

动态类型在引擎盖下使用反射,因此即使有也不会快很多。因此,我认为您的 Linq-To-Sql 表达式应该可以正常工作。你可以检查 blog post .看起来 DLR 的存在只是为了让您的代码更具可读性。

关于c# - Linq-to-sql 查询中的动态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109194/

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