Linq对不“持久”的对象进行更改
|
我正在使用linq通过正面对象通过ID选择一堆对象。该外观具有函数“ 0”,该函数返回MyObject。我根据ID列表在一个查询中选择了一堆对象:
IEnumerable<MyObject> objects =
from id in ids
select facade.GetObjectById(id);
然后,我在对象上设置一些值,如下所示:
foreach(MyObject object in objects)
{
object.someValue = \"banaan\";
}
稍后,当我检查IEnumerable对象时,someValue
未设置为\“ banaan \”。
看起来它与linq的延迟执行有关,因为当我在第一个查询后加上ѭ4时,我确实可以工作。但是,我认为我应该能够做这样的事情。我在这里做错了什么?还是我对如何使用linq的理解是错误的?
提前致谢。
没有找到相关结果
已邀请:
3 个回复
舞备联
之外的检查是第二次执行。 如果要在这种情况下对相同的实例进行操作,必须致电ѭ7。
嘘伪
乏摩纶誊伟
这将导致错误,因为没有从string.IsNullOrEmpty到SQL的转换。
这不会产生错误,因为在ToList()之后,您进入了对象空间。