2015-01-12 3 views
0

Linq-Where 방법에 문제가 있습니다. 때문에, Item가 nullLinq-Where의 단락

enter image description here

경우, Item.State == ...를 호출 할 수 없습니다 : 전 C#이 단락을 사용해야하고, 두 번째 작업이 실행되지 hould 때문에 일이 안 where 절에서 NullReferenceException이를 얻을 수 조건은 이미 참 (단락)입니다.

하지만이 경우 단락이 작동하지 않는 것처럼 보입니다.

다른 사람이이 문제를 가지고 있었고 해결 했습니까? 고맙습니다!

편집 : 결국 connectionList에는 null 값과 끊어진 연결이 없어야합니다.

+1

실제로 결과 목록에 null이 있습니까? – Jamiec

+3

당신이 원하는 것처럼 보입니다! = 그리고 && –

+0

나는 목록에서 그들을 제거하기를 원하기 때문에 널을 원합니다. – BendEg

답변

0

데이터베이스에 대해 쿼리 할 때 일반적인 문제입니다. 즉, 데이터베이스에 대한 단락 (short-circuiting) 동작을 번역 할 때 예상대로 작동하지 마십시오. The || (or) Operator in Linq with C#

당신이 시도해 볼 수도 있습니다 : 당신은 그런 행동에 대한 자세한 내용을보실 수 있습니다 작동하는지

connectionList.RemoveRange(connectionList.Where(x => x==null)); 
connectionList.SaveChanges(); 
connectionList.RemoveRange(connectionList.Where(x => x.Item==BrokenState)); 

은 볼 수 있습니다.