Azure TableEntity EntityResolver 调用和重用基础解析功能

Azure TableEntity EntityResolver to Call and re-use base resolving functionality

我正在创建一个自定义 EntityResolve,这样当我检索我的天蓝色 table 记录时,我将在设计的业务对象(TableEntity 对象)上设置一堆属性仅在我的应用程序中使用,不会持久保存到 Azure table。 Azure table 上的属性用 [IgnoreProperty]

修饰
public delegate T EntityResolver<T>(string partitionKey, string rowKey, DateTimeOffset timestamp, IDictionary<string, EntityProperty> properties, string etag);

所以,我正在创建 EntityResolver,我会将委托作为参数传递到 ExecuteQuerySegmentedAsync 方法中,该方法将自定义绑定到 Table 实体。

但是,我不想编写代码来自定义解析每个 属性 到 Table 实体。我想使用所有默认的解析功能,然后添加一些额外的代码和业务逻辑来设置用于业务逻辑的其他属性。

在解析器中,我是否可以利用默认的或一种基本的解析功能,这样我就不必为了做同样的事情而重写所有的逻辑,只是因为我想添加一些新属性的更多代码和逻辑?

EntityResolver用于自定义client-side投影,这里的代码应该都是自定义的。我还没有找到为此方法提供的任何方法来自动解析属性。

当我们使用没有解析器的查询方法时,可以实现解析功能。例如:table.ExecuteQuerySegmented(query, continuationToken);

您可以在获得查询结果后为每个实体添加属性。 像这样:

var entities = new List<CustomEntity>();
foreach (CustomEntity c in table.ExecuteQuerySegmented(query, continuationToken))
{
    c.Data = 100;
    ......
    entities.Add(c);
}