[FunctionName("GetInfo")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
[Table("table", Connection = "AzureWebJobsStorage")] TableClient tableClient,
ILogger log)
{
try
{
var data = new List<object>();
var entities = tableClient.Query<Azure.Data.Tables.TableEntity>().ToList();
foreach (var entity in entities)
{
var info = new
{
id = entity.RowKey,
name = entity.title,
createdOn = entity.Timestamp
};
data.Add(info);
}
所以我现在正在本地运行这个函数,并使用邮递员来测试调用。表中的条目有一些列,例如 isDeleted、createdOn、createdBy、description 等。
我把
entities
放在手表上,它显示
表中的所有列,如 isDeleted,都是“键”的一部分,它比我希望的级别低一个级别,另外,它们只有键,没有值,也就是实际创建的人、实际创建的时间,删了还是没删啊
我认为在这种情况下,我什至无法过滤查询以仅检索非软删除的条目,而且,
name = entity.title
也不起作用,因为它必须是entity.keys.title
,除了没有值也无法访问.
我该如何查询这些项目?
我已经弄清楚了。我需要创建一个自定义表格实体来满足我的需求。
public class MyEntity : Azure.Data.Tables.ITableEntity
{
}
用我的表格的所有列标题填充它,使用这些属性就像
一样简单var entities = tableClient
.Query<MyEntity>()
.Where(entity => entity.isDeleted == false)
.ToList();