Извлечение одиночной записи с использованием двух условий в LINQ - PullRequest
2 голосов
/ 03 мая 2011

У меня есть таблица, в которой я обновляю одну запись с помощью LINQ, но мое условие для получения этой записи равно 2. Мое условие таково:

   Test p = dt.Tests.Single(c => c.ID == getID);

Но я хочу добавить еще одно условие:

Где Cust_ID == 1. Примерно так:

  Test p = dt.Tests.Single(c => c.ID == getID && t=> t.Cust_ID == 1);

Но я не могу справиться с этой ситуацией с помощью LINQ.Любая помощь, пожалуйста?

Ответы [ 5 ]

5 голосов
/ 03 мая 2011

Вам нужно поместить логический оператор в лямбду:

dt.Tests.Single(c => (c.ID == getID && c.Cust_ID == 1) )

Внутренние скобки не нужны; Я добавил их, чтобы уточнить, что это все одна лямбда.

4 голосов
/ 03 мая 2011

В лямбда-выражении вы должны использовать тот же псевдоним

Test p = dt.Tests.Single(c => c.ID == getID && c.Cust_ID == 1);
3 голосов
/ 03 мая 2011

Вы пытаетесь использовать два отдельных лямбда-выражения для одного аргумента. Я подозреваю , что вы ищете:

Test p = dt.Tests.Single(c => c.ID == getID && c.Cust_ID == 1);

Если это не так, сообщите нам более подробную информацию о том, что вы пытаетесь проверить в ваших условиях.

1 голос
/ 03 мая 2011

Вы почти у цели, у вас просто неправильный синтаксис:

dt.Tests.Single(c => c.ID == getId && c.Cust_ID == 1);

Вы просто используете один и тот же символ и комбинируете условия.

1 голос
/ 03 мая 2011
 Test p = dt.Tests.Single(c => c.ID == getID && с.Cust_ID == 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...