我的代码示例是
RedisClient redisClient = new RedisClient("", 6379);
var redisUsers = redisClient.GetTypedClient<User>();
IRedisList<User> OrderCash = redisUsers.Lists["Order_Cash|123|1"];
var Ocash = new User { OrderI_lngId = 123, OrderI_mnyInvTotal = 44, Item_strID = "Hii", Booking_lngId = 12345, OrderI_strTempTransId = "4", Booking_strId = "TOTAL12345", Item_lngId = 2, ItemVar_intSequence = 1 };
OrderCash.Add(Ocash);
通过这个我试图插入。工作正常。
我可以检索相同密钥的值。现在我需要更新一些值。 我试过这种方式,
OrderCash.Where(o => o.Item_lngId == bsonDoc.TryGetValue("lngItemId", 0).ToLong() && o.ItemVar_intSequence == bsonDoc.TryGetValue("intItemVarSequence", 0).ToInt()).ForEach(objCash => {
objCash.OrderI_mnyInvTotal = bsonDoc.TryGetValue("mnyInvTotal", 0).ToFloat();
objCash.Item_strID = bsonDoc.TryGetValue("strItemId", "").ToStr();
objCash.Booking_lngId = bsonDoc.TryGetValue("lngBookingId", 0).ToLong();
objCash.Booking_strId = bsonDoc.TryGetValue("strBookingId", "").ToStr();
objCash.OrderI_strTempTransId = bsonDoc.TryGetValue("strTempTransId", "").ToStr();
});
但是在调试时它没有更新值仍然在 OrderCash 对象中?
我需要更新该密钥中的一些值。
如何实现?
请帮帮我..
答案 0 :(得分:1)
试试这样..
var lstTemp = redisUsers.Lists["Order_Cash|123|1"].ToList();
foreach(var item in lstTemp){
// Update here
}
然后在列表中弹出当前项并添加此更新列表。