DataSet ds = SomeMethodThatReturnsADataSet("MyDS"); Dictionary<string,string> MyDictionary = new Dictionary<string,string>(StringComparer.CurrentCultureIgnoreCase); foreach(DataRow dr in ds.Tables[0].Rows) MyDictionary.Add(dr["KeyName"].ToString(),dr["KeyValue"].ToString());which is pretty basic and clean but , this code is scattered among dozens of classes - any thoughts very welcome