0
我想在像下面这样的标签表更新的标签列表:LINQ到SQL更新问题
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();
它看起来像如果我得到标签的对象集合了我们一个方法的返回,然后我无法更新记录。我试图调试,没有任何异常!
那么,为什么更新记录的第一种方式不起作用,而第二种方式只是起作用而没有问题?
因此,每次我想更新时,我必须选择然后更新相同的方法,只是为了保持与dbContext范围的一致性? – Eyad 2012-08-05 11:21:58
不,你不知道。但是你必须找到一种方法来在单个dbContext上执行这些操作。 – 2012-08-05 12:45:28