use*_*677 2 amazon-web-services amazon-dynamodb aws-sdk
我在我的应用程序中使用 Dynamodb.net。
我有以下代码。
var creds = new BasicAWSCredentials(awsId, awsPassword);
var dynamoClient = new AmazonDynamoDBClient(creds,
awsDynamoDbRegion);
var context = new DynamoDBContext(dynamoClient);
List<ScanCondition> conditions = new List<ScanCondition>();
conditions.Add(new ScanCondition("Id", ScanOperator.Equal, myId));
var response = await context.ScanAsync<Data>(conditions).GetRemainingAsync();
return response;
Run Code Online (Sandbox Code Playgroud)
我的数据模型如下:
[DynamoDBTable("MyTable")]
public class Data
{
[DynamoDBHashKey]
public string Id{ get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我们将模型“数据”中的表名称编码为
[DynamoDBTable("MyTable")]
Run Code Online (Sandbox Code Playgroud)
我们怎么能不对此进行硬编码呢?是否可以在我的实际代码本身中应用表名称,而不是在模型中给出?
谢谢
是您要找的吗OverrideTableName?DynamoDBOperationConfig
描述:
指示用于保存对象的表以覆盖为该类型声明的 DynamoDBTable 属性的属性。
例子:
var x = await DbContext.LoadAsync<T>("hash", new DynamoDBOperationConfig {
OverrideTableName = "NewTableName",
IndexName = indexName
});
Run Code Online (Sandbox Code Playgroud)
此外,您正在寻找的可能是 DbContext 每个请求的表前缀。它将将此前缀附加到每个表中。如果您想隔离应用程序特定的表(例如 AppName-MyTable),这很有用...
例子:
return new DynamoDBContextConfig
{
TableNamePrefix = "MyAppIdentifier",
ConsistentRead = false,
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2201 次 |
| 最近记录: |