C# DynamoDB和.NET对象持久性模型,使用';添加';值而不是覆盖
我有几个DynamoDB表,它们将充当聚合数据存储(我们正在动态“汇总”报告)。我希望使用.NET:Object持久性模型(在该模型中,您可以构建带有注释的类)。问题是DynamoDBContext对象似乎只有一个“Save”方法,而没有“Save and Add values”方法。因为从Dynamo检索对象和再次写入该行之间的时间可能比一个小数目还要长,并且可能有多个线程试图递增,所以我不希望在.NET代码中递增。相反,我需要.ADD属性。但我不确定是否可以使用对象持久性模型指定属性操作。有人知道这是否可能吗C# DynamoDB和.NET对象持久性模型,使用';添加';值而不是覆盖,c#,.net,amazon-dynamodb,object-persistence,C#,.net,Amazon Dynamodb,Object Persistence,我有几个DynamoDB表,它们将充当聚合数据存储(我们正在动态“汇总”报告)。我希望使用.NET:Object持久性模型(在该模型中,您可以构建带有注释的类)。问题是DynamoDBContext对象似乎只有一个“Save”方法,而没有“Save and Add values”方法。因为从Dynamo检索对象和再次写入该行之间的时间可能比一个小数目还要长,并且可能有多个线程试图递增,所以我不希望在.NET代码中递增。相反,我需要.ADD属性。但我不确定是否可以使用对象持久性模型指定属性操作。有
[DynamoDBTable("my_table")]
public class MyRecord
{
[DynamoDBHashKey(AttributeName = "my_id")]
public string MyID{ get; set; }
/// <summary>
/// Hash of the Region and Country fields for unique data lookup from DynamoDB
/// </summary>
[DynamoDBRangeKey(AttributeName = "location")]
public string Location { get; set; }
[DynamoDBProperty("my_count")]
public int MyCount{ get; set; }
[DynamoDBTable(“my_表”)]
公共类MyRecord
{
[DynamoDBHashKey(AttributeName=“my_id”)]
公共字符串MyID{get;set;}
///
///用于从DynamoDB查找唯一数据的区域和国家字段哈希
///
[DynamoDBRangeKey(AttributeName=“location”)]
公共字符串位置{get;set;}
[发电机性能(“我的计数”)]
public int MyCount{get;set;}
上面是一个示例对象。其思想是MyID获取几个代表用户操作的“计数”。我不想先获取mycount,然后在.NET中添加1,然后再重新推送。我宁愿运行“添加”命令,并始终将“1”发送给mycount,然后让dynamo计算以确保正确性。因为我在这方面找不到大量资源,我想e决定为此编写我自己的扩展方法。它并不完美,因为您无法从上下文中发现DBClient对象,因为它不是公共的,所以您必须将它传入 然而,我将不回答这个问题,因为我不知道是否有更简单的方法来执行此操作