我有一个使用 AWSDynamodDb 的 .NET Core 2.0 项目(您可以在此处忽略 dynamo db,因为问题与 dynamodDB 无关)
我有以下实体类:
[DynamoDBTable("TableName")]
public class MyData
{
[DynamoDBHashKey]
public string Id{ get; set; }
public string Name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想要的是“TableName”——传递给属性的值——从我的 appSettings.json 文件中填充。
{
"TableName": "NewTable"
}
Run Code Online (Sandbox Code Playgroud)
通过查看 appSettings 文件中的密钥,是否可以在运行时获得此值?
- 更新 -
我正在从我的控制器调用“MyData”类,如下所示:
var response = await context.ScanAsync<MyData>(conditions).GetRemainingAsync();
Run Code Online (Sandbox Code Playgroud)
仅对于遇到的其他人,我能够解决此问题,如下所示:
从模型中删除表名。
然后使用下面的代码动态设置表名
public static DynamoDBOperationConfig GetDynamoDbOperationConfig(string dynamoDbTable)
{
DynamoDBOperationConfig config = new DynamoDBOperationConfig() { OverrideTableName = dynamoDbTable };
return config;
}
Run Code Online (Sandbox Code Playgroud)
每当我们调用针对 dynamo db 的任何操作(如扫描、保存、删除等)时,我们都可以调用此函数。
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |