我正在尝试更新标签表中的标签列表,如下所示:
List<Tag> tagList = GetUnitTagList(unitId);
foreach (Tag tag in tagList)
{
tag.count = tag.count - 1;
}
db.SubmitChanges();
这是 GetUnitTagList() 方法:
public static List<Tag> GetUnitTagList(int unitId)
{
DataClassesDataContext db = new DataClassesDataContext();
var tags = from x in db.UnitTags where x.UnitID == unitId select x.Tag;
return tags.ToList();
}
但是我试图更新的值没有得到更新。
但是,以下代码可以正常工作:
var tags = from x in db.UnitTags where x.UnitID == unitId select x.Tag;
foreach (Tag tag in tags)
{
tag.count = tag.count - 1;
}
db.SubmitChanges();
看起来如果我得到一个 Tag 对象的集合,我们返回一个方法,那么我就无法更新记录。我试图调试,但没有通过异常!
那么,为什么更新记录的第一种方法不起作用,而第二种方法却没有问题呢?