2016-02-04 3 views
0

У меня есть этот запрос linq, который работает нормально, но я хочу сделать его короче, используя выражение лямбда. Любые предложения или примеры могут помочь.Запрос LINQ с использованием выражения лямбда

selectedPersons = (from d in entities.PERSONS_DATA 
        where d.PERSON_ID == pid 
        select d).First(); 
+1

Не согласен. Полагаю, что ниже это более читаемо. Это скорее предпочтение, чем факт. – drizzie

+0

Этот запрос уже использует выражение лямбда. – Servy

ответ

2
selectedPersons = entities.PERSONS_DATA.First (d => d.PERSON_ID == pid); 
+0

почему одиночный? почему не первый? – stranger

+0

Вы правы, это должно быть первым. Обновленный ответ. – drizzie

+0

Большое вам спасибо ... не думал, что это будет так просто :) – stranger

0

Если вы можете использовать:

electedPersons = entities.PERSONS_DATA.Find(pid); 

Если есть шанс Идентификатор может не соответствовать ряду первый бросит исключение. Поэтому в этом случае используйте:

electedPersons = entities.PERSONS_DATA.FirstOrDefault(d => d.PERSON_ID == pid); 

if(electedPersons != null) 
    .... 
Смежные вопросы