linq 通过反射获取某一列的数据,将列作为参数传递
业务场景是当需要动态返回某一列的时候,现在需要选择列的名称,然后根据列名去数据库返回这一列的数据,普通的返回数据需要指定提前指定返回的列,无法做到这一点,当然直接在dbset中通过迭代也可以做到这一点,但是当前我们的环境是在处理后的数据中进行返回的,所以采用反射的方式进行,方法比较简单,下面直接上代码
public object[] Read(string felid, IEnumerable<long> ids) { return this.GetTaskTypes().Where(x => ids.Any(y => y == x.Id)).Select(s =>s.GetType().GetProperty(felid)!.GetValue(s, null)!).ToArray(); }
felid是列名,目前只做了返回一列的列子

浙公网安备 33010602011771号