初学linq,边学边用,感觉很模糊,遇到一问题
数据库有一张表,我用linq查询,现想根据另一个linq查询来更新前一个linq查询的结果,只在内存中,比如
var result = from x in db.kj
where……
select x;
var result1 = from y in db.sj
where……
select y;
foreach(var a in result)
{
if(a.* = *)
{
foreach(var b in result1)
{
b.* +=1;
}
}
}
报错,说b.*是只读属性,我估计我对linq的理解太肤浅,看书一时也找到答案,不用linq,好像用datatable可以直接修改摸一个cell的值,现在是不是非要读取一个datatable?网上也看了.tolist等方法,但看的都是一个值,而我要的是一张表中筛选出若干条记录中某一个字段值的修改,怎么做?最好能来点具体代码示例,谢谢先!
...全文
23411打赏收藏
linq问题(弱弱的问)
初学linq,边学边用,感觉很模糊,遇到一问题 数据库有一张表,我用linq查询,现想根据另一个linq查询来更新前一个linq查询的结果,只在内存中,比如 var result = from x in db.kj where…… select x; var result1 = from y in db.sj where…… select y; foreach(var a in result) { if(a.* = *) { foreach(var b in result1) { b.* +=1
我的代码没贴全:
var result = from x in db.kj
where……
select x;
var result1 = from y in db.sj
where……
select y;
foreach(var a in result)
{
if(a.* = *)
{
foreach(var b in result1)
{
if(b.* == *)
{ b.* +=1;}
}
}
}
var result = from x in db.kj
where……
select x;
var result1 = from y in db.sj
where……
select y;
foreach(var a in result)
{
if(a.x >15)
{
foreach(var b in result1)
{
if(b.y > 15 && b.xy == a.xy)
{ b.z +=1;}
}
}
}
是想首先查找KJ表,如果KJ表中的某一条一个字段A的值等于x,则把SJ表中某一字段B的值等于y的记录的z字段值加1.
var result = from x in db.kj
where……
select x;
var result1 = from y in db.sj
where……
select y;
foreach(var a in result)
{
if(a.x >15)
{
foreach(var b in result1)
{
if(b.y > 15)
{ b.z +=1;}
}
}
}