如何在LINQ to SQL查询中遍历每列数据?

jdzmm42g  于 2024-01-03  发布在  其他
关注(0)|答案(2)|浏览(182)

假设我的LINQ to SQL查询是这样的:

  1. var query = (from q in db.GetTable<potato>()
  2. where q.ID == dbID
  3. select q).FirstOrDefault();

字符串
我如何将 * 横向 * 而不是 * 纵向?*。所以只有一行,我想在每列的基础上遍历每个数据项,而不是逐行。有很多属性,所以我只想遍历,而不是手动编写它们。

jqjz2hbq

jqjz2hbq1#

如果你想要的数据是 * 属性 *:

  1. var values = typeof(potato)
  2. .GetProperties()
  3. .Select(p=>p.GetValue(query,null))
  4. .ToArray();

字符串
如果数据为字段:

  1. var values = typeof(potato)
  2. .GetFields()
  3. .Select(p=>p.GetValue(query))
  4. .ToArray();


如果必须返回某些属性,您可以像下面这样过滤PropertyInfoes或FieldInfoes:

  1. typeof(potato)
  2. .GetFields()
  3. .Where(p=>...labla...)
  4. .Select...

展开查看全部
t1rydlwq

t1rydlwq2#

你可以通过反射得到这个

  1. foreach (PropertyInfo propertyInfo in potato.GetType().GetProperties())
  2. {
  3. if (propertyInfo.CanRead)
  4. {
  5. string val= propertyInfo.GetValue(potato, null).ToString();
  6. }
  7. }

字符串

相关问题