[英]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.