我有一个具有以下属性的DynamoDb表(名为Fruit
):
FruitId - string
CreatedDate - date
Type - number
Payload - blob
我还有一个本地字符串列表List<string> fruitIds;
。
我想查询Fruit
表并仅获取表中具有相应记录(即存在)的ID。
有什么好的方法?现在,我遍历Id
中的每个fruitIds
,并向DyanmoDb进行单独的查询以查看是否获得了记录,如果这样做,则将其ID保存到另一个名为{ {1}}。
有更好的方法吗?
答案 0 :(得分:1)
public IQueryable <fruits> GetAllfruitsIDs() {
return fruits.AsQueryable();
}
var data = GetAllfruitsIDs();
// Or u can use this :
public IEnumerable<fruits> GetAllfruitsIDs() {
return fruits.AsQueryable().ToList;
}
var data = GetAllfruitsIDs();
答案 1 :(得分:0)
使用Linq非常简单,只需检查项目的FruitId是否在fruitIds中即可:
var result = fruits.Where(f => fruitIds.Contains(f.FruitId));
将您的ID保存到新的本地变量中,如您所说:
List<string> fruitIdsThatExistInDyanmoDb = fruits.Where(f => fruitIds.Contains(f.FruitId))
.Select(f=> f.FruitId).ToList();