我需要一個ID列表。所以我有一個非常簡單的SQL語句有沒有一種方便的方法將數據從單個列中轉換爲使用ADO .NET的集合?
SELECT FK_NormalizedKeyword FROM KeywordSpelling WHERE拼寫= @keywordspelling
它返回多行,但每行一個值。
我知道如何使用讀取器或數據適配器來獲取ADO .NET中的數據。但在這種簡單的情況下,這似乎是一種矯枉過正的行爲。我知道,如果我想要一個號碼,我可以使用cmd.ExecuteScalar()
,並在沒有完整閱讀器的情況下獲得該值。有沒有什麼能讓我使用類似簡潔的代碼從數據庫中的單個列中獲取結果到空集合中?
你可以讓你的查詢返回一個以逗號分隔的ID列表,然後使用ExecuteScalar - 但* *會是一種矯枉過正。使用'DataReader'是對資源負載最小的最快方式 –
DataReader不是很沉重以避免它。 – Tarec
沒有像內建的東西,但如果它是一個常見的足夠的場景,那麼你可以很容易地爲它做一個擴展方法。像'cmd。ExecuteList()'期望單列,將結果轉換爲'T',並返回一個'IEnumerable '。 –
David