阅读 DynamoDB 文档,似乎没有办法在插入数据时不列出每个属性名称/值。
例如,要插入一个用户,我需要这样做:
var putRequest = new PutItemRequest
    {
        TableName = UsersTableName,
        Item = new Dictionary<string, AttributeValue>()
            {
                {"HashId", new AttributeValue() { S = user.Id.ToString() }},
                {"RangeId", new AttributeValue() { S = user.Email }},
                {"CreatedUtc", new AttributeValue() { S = user.CreatedUtc.ToString() }},
                {"DeactivatedUtc", new AttributeValue() { S = user.DeactivatedUtc.ToString() }},
                {"Timezone", new AttributeValue() { S = "US Eastern Standard Time" }},
            }
    };
var result = DbClient.PutItem(putRequest);
我喜欢 RavenDb 模型,它接受任何 POCO 并根据类的公共字段名称自行确定“属性”名称。
我的问题是:我需要这样做吗?是否可以仅通过传递对象来写入数据?
如果不是,我会写一些东西:我将使用反射来找出名称和类型,并PutItemRequest.Item基于它生成字典。如果没有必要,我宁愿不要。
与往常一样,提前感谢您的帮助!