2016-03-21 20 views
4

Dapper, verileri dinamik nesneler listesine yerleştirmenin birçok yolunu sunar. Bununla birlikte, bazı durumlarda verileri, Sözlük listesine okumak istiyorum.Dapper: Sorgudan Sözlük listesi nasıl okunur?

SQL may gibi görünüyor:

"SELECT * FROM tb_User" 

tb_User dışında değişebilir, ben sonucu dönecektir ne sütun bilmiyorum. Bu yüzden bu gibi bazı kod yazabilirsiniz:

var listOfDict = conn.QueryAsDictionary(sql); 
foreach (var dict in listOfDict) { 
    if (dict.Contains("anyColumn")) { 
     // do right thing... 
    } 
} 

Zarif bu dönüşümü yapmak için herhangi bir yerleşik yöntemler var mıdır?

+0

bu daha iyi anlamak için, Tek bir satırı istediğiniz bir 'ıdictionary <,>' nerede anahtar = columnName, değer olarak = columnValue? –

+0

evet tam olarak !!! – ineztia

cevap

7

Sen IDictionary olarak her satır yayınlayabileceğim:

var row = (IDictionary<string, object>)conn.Query("select foo = 1, bar = 'bar'").First(); 

    Assert.That(row["foo"], Is.EqualTo(1)); 
    Assert.That(row["bar"], Is.EqualTo("bar")); 
+1

'' '' '' '' '' '' '' '' '' '' 'ine '' ile ilgili dökümantasyonu bulmaya çalıştım, ancak bulamadım. Bir referans var mı? – Mugen