我正在查询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();

09-25 22:00