动态选择和更新 LINQ 结果集中的列值

发布于 2024-11-07 01:59:04 字数 461 浏览 4 评论 0原文

我有一个场景,其中存在 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;
            }

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

I have a scenario in which there exists a LINQ resultset; I used the following query

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

Now I want to use this resultset and update a column's value. The column is being selected dynamically via a string variable.

The code which I am trying to use is:

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

Please help me out here as to how do I achieve this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃素的狼 2024-11-14 01:59:04

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

foreach (BloodBank b in stockDetails)
{
    FieldInfo f = typeof(BloodBank).GetField("fieldName");
    if (f != null)
    {
       f.SetValue(b, TextBox1.Text);
    }
}

You can use reflection to get the field by name like this.

foreach (BloodBank b in stockDetails)
{
    FieldInfo f = typeof(BloodBank).GetField("fieldName");
    if (f != null)
    {
       f.SetValue(b, TextBox1.Text);
    }
}
七色彩虹 2024-11-14 01:59:04
foreach (BloodBank b in db.BloodBanks.Where(d => where d.bbUserName == Session["username"].ToString())
{
    b.col = TextBox1.Text;
}
foreach (BloodBank b in db.BloodBanks.Where(d => where d.bbUserName == Session["username"].ToString())
{
    b.col = TextBox1.Text;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文