在Linq中,.Select()的反义词是什么?

Alo*_*kin 15 c# linq

在Linq查询中,如果我想要选择除特定属性之外的所有属性,我该怎么办?

不能使用Select()和指定除了我不想要的属性之外的所有属性,因为我不知道一些属性(我查询抽象类的列表).

我也不能只选择所有属性,因为在序列化X类型的对象时会检测到抛出循环引用.(我将对象序列化为Json)

Filter()我可以使用任何方法或一些扩展方法吗?

谢谢.

Jon*_*eet 20

不,你不能这样做 - 完全没有这样的东西.请记住,由于投影,您必须以特定类型结束...如果您不知道要选择哪些属性,那么您如何才能拥有这样的类型?

如果您正在查询某个抽象类的列表,是否有任何理由您不想只保留对该抽象类实例的引用?将它分离成特定属性有什么好处?或者你真的试图避免以后看到这些属性,例如数据绑定?

  • @Alon:听起来你需要改变序列化的方式而不是查询. (3认同)
  • @Alon:你必须看看那个调用中是否有任何东西可以这样做 - 但是你明白为什么你不能*在LINQ级别这样做?当在执行时间之前不知道属性时,您期望得到什么类型的结果?你可以*潜在地使用动态类型做一些事情,但至少可以说是不寻常的. (2认同)