我正在查询azure表。获取数据后,我将执行linq select操作并获取修改后的值。
但是我想要两个列表,一个带有旧值,另一个带有新值。
var oldUserEntities = userEntities.ToList();
var newUserEntities = userEntities.Select(i => { i.RowKey = dict[i.RowKey]; return i; }).ToList();
在此代码之后,如果我验证oldUserEntites和newUserEntities中的值,它们的修改值相同。
如何拥有旧清单和新清单?
最佳答案
这是因为投影中的i
引用了oldUserEntities
中的原始项目,然后i.RowKey
修改了原始数据。
请尝试以下操作(假设您的实体名为UserEntity
):
var oldUserEntities = userEntities.ToList();
var newUserEntities = userEntities.Select(i => new UserEntity
{
RowKey = dict[i.RowKey],
// rest of desired properties ...
}).ToList();