Я собираю данные из базы данных SQL Server в таблицу DataTable, которую я конвертирую, используя AsEnumerable, а затем разделяю, используя серию операторов Linq.Моя конечная цель - взять эти запросы Linq и создать для меня HashTable.Поэтому вместо анонимных типов:
var facebookPosts
= from f in results.AsEnumerable()
where f.GetInt("SocialMediaTypeID").Equals(
(int) SocialMediaRecordType.FacebookPost)
select new {
Headline = f.GetString("Headline"),
Parameters = new Parameters(f.GetString("Parameters")),
SocialMediaUserID = f.GetLong("SocialMediaUserID"),
SocialMediaRecordID = f.GetLong("SocialMediaRecordID"),
GravityScore = f.GetFloat("GravityScore"),
NewsDate = f.GetDateTime("NewsDate", false),
Template = "Facebook"
};
Я мог бы сделать что-то вроде этого:
var facebookPosts1
= from f in results.AsEnumerable()
where f.GetInt("SocialMediaTypeID").Equals(
(int) SocialMediaRecordType.FacebookPost)
select new Hashtable {
{ "Headline", f.GetString("Headline"),
"SocialMediaUserID", f.GetLong("SocialMediaUserID"),
etc... }
};
Возможно ли это с .NET 4.0?
РЕДАКТИРОВАТЬ: Чтобы прояснить вопрос, в конечном итоге то, что я делаю с этим, возвращает JSON в браузер.Моя компания создала класс JsonObject, который является производным от HashTable, и это то, что я должен использовать, чтобы в конечном итоге вернуть Json.Я хотел бы создать по одному Hashtable (или JsonObject) для каждой строки в results , который, используя приведенный выше пример, имеет ключ с именем Headline со значением f.GetString ("Заголовок") , другой ключ с именем SocialMediaUserID со значением f.GetLong ("SocialMediaUserID") и т. д.Посты Facebook в конечном итоге будут массивом или IEnumerable HashTable или JsonObject с несколькими парами ключ / значение в каждой.Если я не могу сделать это таким образом, я думаю, что застрял, делая манипуляции с facebookPosts в правильной структуре JsonObject, которая мне нужна?Мне нужно указать имена явно.