我正在尝试通过Linq-to-SQL更新数据库。
我有一个名为Staff_Time_TBL
9列的表。我正在尝试更新潜在多行上的单列记录。
我的LINQ查询如下。它Section_Data
从指定日期到另一个指定日期的列中以及单个员工编号中获取数据。
DatabaseDataContext Sql = new DatabaseDataContext(ConnectionString);
var getList = Sql.Staff_Time_TBLs.Where(
staff => staff.Staff_No == staffNo &&
staff.Date_Data >= dateFrom &&
staff.Date_Data <= dateTo)
.Select(staff => staff.Section_Data).ToList();
然后,我将使用foreach
循环遍历集合并更新数据库,
foreach (var item in getList)
{
item.Section_Data = "myValue";
}
Sql.SubmitChanges();
问题是,在此下,该实体Section_Data
不存在。
item.Section_Data
因此,我认为我没有正确组合LINQ才能访问实体?如何修改查询,以便可以访问实体以更新数据库?
var getList = Sql.Staff_Time_TBLs.Where(
staff => staff.Staff_No == staffNo &&
staff.Date_Data >= dateFrom &&
staff.Date_Data <= dateTo)
.Select(staff => staff.Section_Data).ToList();
该查询将只为您提供Section_Data类型的数据,因为您选择的是Section_Data,并且对该字段分别运行时,您将只能访问与之相关的属性,因此只需从查询中删除选择部分。
var getList = Sql.Staff_Time_TBLs.Where(
staff => staff.Staff_No == staffNo &&
staff.Date_Data >= dateFrom &&
staff.Date_Data <= dateTo)
.ToList();
现在,您将能够访问其中的属性。
foreach (var item in getList)
{
item.Section_Data = "myValue";
}
Sql.SubmitChanges();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句