【发布时间】:2011-08-16 22:42:01
【问题描述】:
这是一些插入代码
gkInfo.data.ToList()
.ForEach(p => p.hour.ToList()
.ForEach(r => r.block.ToList()
.ForEach(q =>
{
var v = new VarValues();
v.dt = DateTime.Parse(p.target_date + " " + (r.value - 1).ToString() + ":00:00");
v.id_objecttype = config.stations.Where(i => i.text == q.station_name).Single().id_objecttype;
v.id_object = q.bnum.ToString();
v.id_param = config.stations.Where(i => i.text == q.station_name).Single().id_param;
v.pl_lev = 3;
v.source = 0;
v.value = q.block_state;
v.version = version;
v.description = q.change_type;
m53500context1.VarValues.InsertOnSubmit(v);
}
)));
m53500context1.SubmitChanges();
这个代码,锁表。 我可以避免吗?还是不可能?
【问题讨论】:
-
“锁表”到底是什么意思,为什么这对您来说是个问题? SQL server 锁是一个复杂而广泛的话题,基本上数据库中的大多数操作都需要在操作期间采取某种的锁。如果我们知道您有什么特别关注的问题,我们会更容易回答您。
-
当时我无法从该表中选择数据
-
datacontext 是否只用于本节?
-
是的。从其他环境中阅读,甚至从管理工作室中阅读
标签: sql tsql linq-to-sql