PocoDynamo - 使用现有 table
PocoDynamo - use existing table
假设我在 DynamoDB 中已经有一个 table,我该如何使用 PocoDynamo 注册它
类型 "SomeTable" 在 prod 和 stg 环境中指向不同的 table。有没有办法用 table 名称注册类型或以其他方式设置 table 名称。
_pocoClient.PutItem<SomeTable>(item)
有没有办法将现有的 table 与 PocoDynamo 一起使用?
注意:我使用 terraform 创建 tables,不想使用 PocoDynamo 创建基础设施。
在 PocoDynamo 中,您只需调用 RegisterTable
到 "register" table 及其与 PocoDynamo 的架构,即:
db.RegisterTable<SomeTable>();
您可以通过以下方式注册 table 以编程方式更改 table 名称(在启动时调用 InitSchema()):
var metadata = DynamoMetadata.RegisterTable<SomeTable>();
metadata.Name = "DbTableName";
注册和配置table后,调用InitSchema
只会创建尚不存在的table:
db.InitSchema();
如果您希望 DynamoDB Table 具有与 .NET 类型名称不同的名称,您可以使用 Alias attribute,例如:
[Alias("DbTableName")]
public class SomeTable
{
//..
}
注意:PocoDynamo 是一个代码优先类型的 .NET 客户端,这意味着它希望 DynamoDB Tables 完全按照它的创建方式创建,它对于映射到现有 tables 使用不同的约定生成。
假设我在 DynamoDB 中已经有一个 table,我该如何使用 PocoDynamo 注册它
类型 "SomeTable" 在 prod 和 stg 环境中指向不同的 table。有没有办法用 table 名称注册类型或以其他方式设置 table 名称。
_pocoClient.PutItem<SomeTable>(item)
有没有办法将现有的 table 与 PocoDynamo 一起使用?
注意:我使用 terraform 创建 tables,不想使用 PocoDynamo 创建基础设施。
在 PocoDynamo 中,您只需调用 RegisterTable
到 "register" table 及其与 PocoDynamo 的架构,即:
db.RegisterTable<SomeTable>();
您可以通过以下方式注册 table 以编程方式更改 table 名称(在启动时调用 InitSchema()):
var metadata = DynamoMetadata.RegisterTable<SomeTable>();
metadata.Name = "DbTableName";
注册和配置table后,调用InitSchema
只会创建尚不存在的table:
db.InitSchema();
如果您希望 DynamoDB Table 具有与 .NET 类型名称不同的名称,您可以使用 Alias attribute,例如:
[Alias("DbTableName")]
public class SomeTable
{
//..
}
注意:PocoDynamo 是一个代码优先类型的 .NET 客户端,这意味着它希望 DynamoDB Tables 完全按照它的创建方式创建,它对于映射到现有 tables 使用不同的约定生成。