[英]Azure table storage: How to get a single entity by a partition key only?
我試圖獲得僅提供有分區鍵的單個實體。 我當前的代碼正在從IEnumerable返回一個列表,但實際上它只是一個實體,擁有一個列表似乎並不是很有效,並且我必須遍歷它。 沒有列表/ IEnumerable,有沒有辦法實現?
var entities = currentTable.ExecuteQuery(new TableQuery<ItemEntity>()).Where(e => e.PartitionKey.Equals(itemEntity.xId)).ToList();
如果要獲取指定的實體,則應一起提供分區鍵和行鍵。
但是,如果要獲取隨機實體,則應使用GvS提供的方法。
查詢的結果始終是IEnumerable。
如果只期望一個結果,則可以使用:
var result = currentTable.ExecuteQuery(new TableQuery<ItemEntity>()).Where(e => e.PartitionKey.Equals(itemEntity.xId));
// First element from the result. Will fail when there is no element
var entity1 = result.First();
// First element from the result. Will give null when no element is available.
var entity2 = result.FirstOrDefault();
// First element from the result. Will fail when there is no element, or more as one element
var entity3 = result.Single();
// First element from the result. Will give null when one element is available, or fail (Exeption) when more as one.
var entity4 = result.SingleOrDefault();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.