Лучшее
и остальные
var name = from r in MyTable
where r.ID == 0
select r.Name;
Если строка уникальна, вы можете даже просто сделать:
var row = DataContext.MyTable.SingleOrDefault(r => r.ID == 0);
var name = row != null ? row.Name : String.Empty;
Я заметил, что другие указали не лямбда-синтаксис, поэтому, чтобы завершить его, я добавлю эквивалент лямбда-синтаксиса:
Не-лямбда (согласно сообщению Джеймса):
var name = from i in DataContext.MyTable
where i.ID == 0
select i.Name
Эквивалентный лямбда-синтаксис:
var name = DataContext.MyTable.Where(i => i.ID == 0)
.Select(i => new { Name = i.Name });
На самом деле нет большой практической разницы, просто личное мнение, которое вы предпочитаете.
Спасибо за ваши ответы. Я не понял, какой тип объекта «MyTable» был (в ваших ответах), и следующий код дал мне ошибку, показанную ниже.
DataTable dt = ds.Tables[0];
var name = from r in dt
where r.ID == 0
select r.Name;
Не удалось найти реализацию шаблона запроса для исходного типа 'System.Data.DataTable'. «Где» не найдено
Итак, я продолжил поиск в Google и нашел кое-что, что действительно работает:
var rowColl = ds.Tables[0].AsEnumerable();
string name = (from r in rowColl
where r.Field<int>("ID") == 0
select r.Field<string>("NAME")).First<string>();
Как вы думаете?
Вы должны использовать правильный HTTP-глагол в соответствии с тем, что вам требуется от вашей веб-службы.
При работе с Collection URI, например: http: / /example.com/resources/
GET: список членов коллекции с указанием их URI для дальнейшей навигации. Например, перечислите все автомобили на продажу.
PUT : Значение определяется как «заменить всю коллекцию другой коллекцией».
POST : создать новую запись в коллекции, ID которой равен присваивается автоматически коллекцией. Созданный идентификатор обычно включается как часть данных, возвращаемых этой операцией.
УДАЛИТЬ : Значение определяется как «удалить всю коллекцию».
При работе с Членом URI, например : http: // пример.