我正在创建一个自定义的EntityResolve,以便在检索我的蔚蓝表记录时,我将在Business (TableEntity对象)上设置一组属性,这些属性仅用于我的应用程序,而不是持久保存到azure表中。Azure表上的属性使用IgnoreProperty装饰
public delegate T EntityResolver<T>(string partitionKey, string rowKey, DateTimeOffset timestamp, IDictionary<string, EntityProperty> properties, string etag);
因此,我将创建EntityResolver,并将委托作为参数传递到ExecuteQuerySegmentedAsync方法中,该参数将执行自定义绑定到表实体。
但是,我不想编写代码来自定义将每个属性解析为TableEntity。我希望使用所有默认的解析功能,但随后添加一些额外的代码和业务逻辑来设置用于业务逻辑的其他属性。
在解析器中,我是否可以使用默认的或基本的解析功能,这样我就不需要重写所有的逻辑来做同样的事情了,仅仅因为我想向一些新的属性添加更多的代码和逻辑?
发布于 2018-03-19 09:23:23
EntityResolver用于自定义客户端投影,其中所有的代码都应该进行定制。我还没有找到任何方法可以让这个方法自动解析属性。
当我们使用没有解析器的查询方法时,可以实现解析功能。例如:table.ExecuteQuerySegmented(query, continuationToken);
在获得查询结果后,可以向每个实体添加属性。如下所示:
var entities = new List<CustomEntity>();
foreach (CustomEntity c in table.ExecuteQuerySegmented(query, continuationToken))
{
c.Data = 100;
......
entities.Add(c);
}
https://stackoverflow.com/questions/49309615
复制相似问题