Select only columnA and columnB from your table, and move further processing in memory:
return context.myTable
.Select(o => new { o.columnA, o.columnB }) // only two fields
.AsEnumerable() // to clients memory
.Select(o => new KeyValuePair<int, string>(o.columnA, o.columnB))
.ToList();
Consider also to create dictionary which contains KeyValuePairs:
return context.myTable.ToDictionary(o => o.columnA, o => o.columnB).ToList();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…