我试图在我的azure表上进行查询,但我什么都不能返回,它给出了一个错误400,好像查询是错误的。
在azure表上,我输入的模式是:
PartitionKey|RowKey|timestamp|Date|Quantidade|Observacao|ClientID|FuncionarioID
时间戳是默认的:例如:2021-06-16T18:20:00.000Z,但我不知道如何只获取时间戳的月份。
遵循以下代码:
public List<Producao> ConsultarProducao(int mes, string funcionarioId)
{
try
{
string query = "Timestamp.DateTime.Month eq '" + mes + "' and FuncionarioID='" + funcionarioId + "'";
CloudTableClient storageTransfer = GetTableClient();
CloudTable table = storageTransfer.GetTableReference("producao");
var lista = table.CreateQuery<Producao>().Where(
y => y.Timestamp.DateTime.Month == mes && y.FuncionarioID == funcionarioId
).ToList();
return lista;
}
catch (Exception ExceptionObj)
{
throw ExceptionObj;
}
}
只需尝试下面的代码来过滤六月Timestamp
的所有项目:
var connStr = "<storage connection string>";
var tableName = "<your table name>";
CloudStorageAccount account = CloudStorageAccount.Parse(connStr);
CloudTableClient client = account.CreateCloudTableClient();
var table = client.GetTableReference(tableName);
var filter = "Timestamp ge datetime'2021-06-01T00:00:00Z' and Timestamp lt datetime'2021-07-01T00:00:00Z' ";
var query = new TableQuery<Producao>().Where(filter);
var queryResults = table.ExecuteQuery(query);