簡體   English   中英

Azure表存儲:如何僅通過分區鍵獲取單個實體?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM