【发布时间】:2016-09-13 07:06:47
【问题描述】:
所以我想从表中返回一个具有唯一值的字符串类型的列表。
值得注意的是,该表的设计者决定表中的每一行都包含多个具有多个唯一字段的列。因此,您不能只从需要指定字段的表中获取唯一的项目列表,然后变得不同。
为此,我想编写一个通用方法,我可以在其中指定列名并获取唯一的项目列表。
我尝试了很多方法,下面列出了两种;
retList = context.LP_Specification.Select(x => x.GetType().GetProperty(fieldName).GetValue(x).ToString()).Distinct().ToList();
retList = context.LP_Specification.Select(fieldName)
也不行。
但是,我使用这样的反射会出错。
所以方法调用是这样的;
public List<string> GetSpecs(string fieldName)
我想从表中获取字符串值列表,并且只返回指定字段的不同值。
【问题讨论】:
-
类似stackoverflow.com/questions/39223586/…?但是,如果您始终选择
string列,您的情况可能会更简单,对吗? -
Select(s => s.GetType().GetProperty(Property.Name).GetValue(s)) (今天早些时候没有 ToString() 为我工作......希望有帮助(只是我的 0.02 美元,当加到两美分时产生约 0.015 美元)...具体来说,它是 Select(s =>(double) s.GetType().GetProperty("Customers").GetValue(s)).ToArray() ;
-
"也不起作用。但是我在使用这样的反射时遇到错误。"更加详细一些!你得到什么错误做?你能指望什么?我认为我们可以从 15k 用户那里获得这些基本信息,不是吗?