首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用ServiceStack.Aws在dynamodb中编写条件

如何用ServiceStack.Aws在dynamodb中编写条件
EN

Stack Overflow用户
提问于 2016-06-23 14:51:18
回答 1查看 413关注 0票数 1

在dynamodb中,您可以执行条件写入(请参阅这里这里)。

现在,我正在使用ServiceStack.Aws,我想知道如何实现这一点(条件写入)

我的代码如下所示

代码语言:javascript
复制
var awsDb = new AmazonDynamoDBClient();
var db = new PocoDynamo(awsDb);
db.UpdateItem<Country>(new Country{CountryId = 1, Name = "New Name"});

我的模特长得像这样

代码语言:javascript
复制
[Alias("TABLE-NAME")]
public class Country
{
    [AutoIncrement]
    public int CountryId { get; set; }
    public string Name { get; set; }
    public string Culture { get; set; }
    public int State { get; set; }
}

但是,只有在0中有"state“属性时,我才想更新此项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 19:28:42

我刚刚在UpdateExpression中添加了类型化的此承诺支持,它将允许您使用表达式生成器来构造更新查询,您可以这样使用它:

代码语言:javascript
复制
var q = db.UpdateExpression<Country>(1)
    .Set(() => new Country { Name = "New Name" })
    .Condition(x => x.State == 0);

bool wasUpdated = db.Update(q);

就像PocoDynamo的查询和扫描表达式生成器一样,UpdateExpression<T>继承了AWS的UpdateItemRequest,您可以使用它在发送之前进一步定制UpdateItemRequest。另外,当PocoDynamo中没有涵盖某个特性时,您可以使用db.DynamoDb访问AWS的底层Dynamo客户机。

新的UpdateExpression<T>构建器可以从v4.0.61 (即现在的可在MyGet上获得 )中获得。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37995090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档