Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq到SQL方法中的条件赋值_Linq - Fatal编程技术网

Linq到SQL方法中的条件赋值

Linq到SQL方法中的条件赋值,linq,Linq,我如何执行以下操作,在linq方法中根据条件分配新值,但保留所有结果 int x= 100; var results= from r in Results where r.id==id select r { if r.value==x set r.result="Found"} 您并不是真的想这样做——理想情况下,查询不应该有副作用。我的意思是你可以做到: 我通常会尽量不去想 请注意,这在LINQ到SQL等中确实不起作用。您并不是真的想这样做的-理想情况下,查

我如何执行以下操作,在linq方法中根据条件分配新值,但保留所有结果

 int x= 100;

 var results= from r in Results where r.id==id select r
              { if r.value==x set r.result="Found"}

您并不是真的想这样做——理想情况下,查询不应该有副作用。我的意思是你可以做到:

我通常会尽量不去想


请注意,这在LINQ到SQL等中确实不起作用。

您并不是真的想这样做的-理想情况下,查询不应该有副作用。我的意思是你可以做到:

我通常会尽量不去想


请注意,这在LINQ到SQL等中确实不起作用。

LINQ不应以这种方式使用。我将迭代查询结果,然后更改它们

 var results= from r in Results where r.id==id select r;

 foreach (var r in results.ToList()) { if (r.value==x) r.result="Found"; }

Linq不应该以这种方式使用。我将迭代查询结果,然后更改它们

 var results= from r in Results where r.id==id select r;

 foreach (var r in results.ToList()) { if (r.value==x) r.result="Found"; }

也许最好再进行一次检查,这样可以保持查询的干净和无副作用

int x = 100;

List<Result> results = (from r in Results
                        where r.id == id
                        select r).ToList();

results.ForEach(r => r.result = r.value == x ? "Found" : "Not Found");
intx=100;
列出结果=(来自结果中的r)
其中r.id==id
选择r.ToList();
results.ForEach(r=>r.result=r.value==x?“已找到”:“未找到”);

可能最好进行第二次检查,这样您就可以保持查询干净且无副作用

int x = 100;

List<Result> results = (from r in Results
                        where r.id == id
                        select r).ToList();

results.ForEach(r => r.result = r.value == x ? "Found" : "Not Found");
intx=100;
列出结果=(来自结果中的r)
其中r.id==id
选择r.ToList();
results.ForEach(r=>r.result=r.value==x?“已找到”:“未找到”);

是否“无副作用”还包括不在同一方法中创建.Select(r=>newsomeobject(){id=r.id,name=r.name})等新对象?@zsharp:这不会影响现有对象,所以没关系。是否“无副作用”还包括不创建.Select(r=>newsomeobject(){id=r.id,name=r.name})等新对象使用相同的方法?@zsharp:这不会影响现有对象,所以没关系。