Я использую LINQ для взаимодействия с данными в наборе данных в программе на C # .NET. Данные импортируются в набор данных из файла XML, так что именно там он получает свою схему. Я хочу иметь возможность взять одну строку из таблицы и затем получить доступ к определенным столбцам этой строки строго типизированным способом (с intelli-sense). Я думаю, что я близок к синтаксису, но я не совсем понимаю. Вот что у меня пока ...
// RunnerDataTable contains columns named FirstName, LastName, etc.
var OneRunner = RunnerDataTable().Single( p => p.Field<string>("FirstName") == "Jordan");
MessageBox.Show(OneRunner.LastName); // This doesn't work
Этот пример работает, но я бы хотел сделать это без цикла foreach ...
var SomeRunners= from f in RunnerDataTable.AsEnumerable()
where f.Field<string>("FirstName") == "Jordan"
select new { FirstName = f.Field<string>("FirstName"), LastName = f.Field<string>("LastName")};
foreach (var o in SomeRunners)
{
MessageBox.Show(o.FirstName + " " + o.LastName);
}
Есть идеи?