繁体   English   中英

使用存储库模式将DynamicTableEntity写入Azure表存储时出现问题

[英]Issue writing a DynamicTableEntity to Azure table storage using repository patterns

内容:

我的目标是在Azure表存储中拥有几个DynamicTableEntity,它们具有各自的表。 这样,实体可以在系统需要时动态地添加字段。

当前,我正在使用存储库模式来为我的(非动态)TableEntities与表建立接口。 在存储库构造函数中,我使用以下几行:

Table = TableClient.GetTableReference(typeof(TEntity).Name);
Table.CreateIfNotExists();

要获取实体各自的表,如果该表尚不存在,请使用提供的TEntity名称创建该表。 (TEntity被限制为ITableEntity)。

问题:

我的表存储的名称是从提供的TEntity.Name派生的,而DynamicTableEntity是无法继承的密封类,则无法为我的Azure表指定名称。 对DynamicTableEntity的任何使用最终都将使用称为“ DynamicTableEntity”的同一表。

无论如何,我能指定一个表名吗? 我考虑过将DynamicTableEntity包装在类中以及查看属性

在将强类型实体转换为DynamicTableEntity的组件内部,可以使用相同的值(typeof(TEntity).Name)将Name属性添加到DynamicTableEntity。 然后,您可以使用此Name属性的值来确定表。

在反向转换中,如果要将DynamicTableEntity转换回强类型,则可以删除该Name属性。

您可能还希望将该名称与表引用映射一起放入Web config / app config文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM