Вы не можете использовать имя таблицы для переменной, вам нужно будет это сделать:
DECLARE @sqlCommand varchar(1000)
SET @sqlCommand = 'SELECT * from yourtable'
EXEC (@sqlCommand)
Методы расширений также обеспечивают расширение ToDictionary. Это справедливо просто в использовании, общее использование передает селектор лямбды для ключа и получает объект как значение, но можно передать селектор лямбды и для ключа и для значения.
class SomeObject
{
public int ID { get; set; }
public string Name { get; set; }
}
SomeObject[] objects = new SomeObject[]
{
new SomeObject { ID = 1, Name = "Hello" },
new SomeObject { ID = 2, Name = "World" }
};
Dictionary<int, string> objectDictionary = objects.ToDictionary(o => o.ID, o => o.Name);
Тогда objectDictionary[1]
содержал бы значение "Привет"
var dictionary = (from x in y
select new SomeClass
{
prop1 = value1,
prop2 = value2
}
).ToDictionary(item => item.prop1);
Это предполагает, что SomeClass.prop1
желаемое Key
для словаря.