3

我有一个存在 LINQ 结果集的场景;我使用了以下查询

var stockDetails = from d in db.BloodBanks
                   where d.bbUserName == Session["username"].ToString()
                   select d;

现在我想使用这个结果集并更新列的值。该列是通过字符串变量动态选择的。

我尝试使用的代码是:

foreach (BloodBank b in stockDetails)
            {
                b.<--column name from string variable--> = TextBox1.Text;
            }

请在这里帮助我了解如何实现这一目标。

4

2 回答 2

3

您可以使用反射来按名称获取字段,如下所示。

foreach (BloodBank b in stockDetails)
{
    FieldInfo f = typeof(BloodBank).GetField("fieldName");
    if (f != null)
    {
       f.SetValue(b, TextBox1.Text);
    }
}
于 2011-05-13T15:07:46.120 回答
1
foreach (BloodBank b in db.BloodBanks.Where(d => where d.bbUserName == Session["username"].ToString())
{
    b.col = TextBox1.Text;
}
于 2011-05-13T15:13:24.243 回答