gpt4 book ai didi

c# - 在 ActionResult 中使用 ToList ForEach 更新表值

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:24 25 4
gpt4 key购买 nike

可能是另一个菜鸟错误,但我在运行循环以更新多个值时遇到了问题。

我从表单返回一个值(日期时间 - tTS)并用于查询表。那部分工作正常......在某种程度上。我正在逐步构建它,证明每一项都有效,然后继续下一步。我从返回 .FirstOrDefault 的查询开始,它工作并更新了记录,所以查询在其他方面工作正常。要检索多个项目并更新每个项目,请尝试使用 .ToList() 和 foreach()...

var holidaytest = db.HolidayTest
.Where(x => x.TimeStamp == tTS)
.ToList();

foreach(var item in holidaytest)
{
holidaytest.DecimalT = (29.5);
}

db.SaveChanges();

我已经尝试了上述的多种变体,但在 .DecimalT 下总是出现一条红线:'System.Collections.Generic.List' 不包含 'DecimalT' 的定义,并且找不到接受类型为 'System.Collections.Generic.List' 的第一个参数的扩展方法 'DecimalT'(您是否缺少 using 指令或装配引用?)我正在使用:

using HolidaysDev.Models
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

仅供引用,我正在尝试将 DecimalT 设置为 (29.5) 进行测试,我将更改此阶段是否正常工作 - 我认为使用静态值更容易。

最佳答案

您在 foreach 中使用了错误的变量:

foreach(var item in holidaytest)
{
holidaytest.DecimalT = (29.5); // This is the list!
}

您需要使用 item

foreach(var item in holidaytest)
{
item.DecimalT = 29.5; // This is an item in the list and you don't need the brackets.
}

这是一个简单的完整版本:

foreach(var item in db.HolidayTest.Where(x => x.TimeStamp == tTS))
{
item.DecimalT = 29.5;
}

关于c# - 在 ActionResult 中使用 ToList ForEach 更新表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com