如何在LINQ to SQL查询中迭代每列数据?

时间:2015-08-30 11:04:08

标签: c# sql linq

想象一下我的LINQ to SQL查询是这样的:

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

如何重复水平而不是垂直?。所以只有一行,我想迭代遍历列中每列的每个数据项,而不是逐行。这里有很多属性,所以我只想迭代而不是手动编写它们。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您需要的数据是 Property

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

如果数据是Field:

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

如果必须返回某些属性,您可以过滤PropertyInfoes或FieldInfoes,如下所示:

typeof(potato)
    .GetFields()
    .Where(p=>...labla...)
    .Select...

答案 1 :(得分:1)

你可以通过反思来获得这个

defmodule Utilities.StringUtils do
end