엔터티 프레임 워크의 엔터티에 "또는"조건을 추가 할 수 있습니까? 같은 예를 들어 뭔가 :엔터티 프레임 워크의 엔터티에 조건 추가 또는 추가
속성 1 == (1 또는 2 또는 3)
"1 || 2 || 3"또는 "1, 2의 값을 넣어 때 얻을 메시지
condition is not compatible with the type of the member
엔터티 프레임 워크의 엔터티에 "또는"조건을 추가 할 수 있습니까? 같은 예를 들어 뭔가 :엔터티 프레임 워크의 엔터티에 조건 추가 또는 추가
속성 1 == (1 또는 2 또는 3)
"1 || 2 || 3"또는 "1, 2의 값을 넣어 때 얻을 메시지
condition is not compatible with the type of the member
당신이 할 필요가 : : 3 "또는"1 또는 2 또는 3 "이 메시지를 반환
var results = entityCollection.Where(entity => entity.Property1 == 1 || entity.Property1 == 2 || entity.Property1 == 3);
시도하지 않았지만 contains
을 사용해보세요. 아니 성능 확실하지만, 코드는 작은 : http://www.albahari.com/nutshell/predicatebuilder.aspx
그것은 좀 더 고급이지만, 동적 조건을 체인해야하는 경우가 가장 좋은 건입니다 :
int[] vals = new int[] { 1, 2, 3, 4 };
var results = entityCollection.Where(entity => vals.Contains(entity.Property1));
'Contains'는 아직 릴리즈되지 않은 EF 4에서만 지원됩니다 (.Net 4로 12 번째로 나옵니다). MS의 웹 사이트에 공개 후보가 있습니다. –
그것에 대해 생각조차하지 않았다. 나는 잠시 동안 EF 4를 사용하여 정상적으로 보였다. –
또한 술어 빌더를 체크 아웃해야 .
foreach (string keyword in keywords)
{
string temp = keyword;
predicate = predicate.Or (p => p.Description.Contains (temp));
}
나는 두려웠다. 내가하고 싶은 것은 테이블에 대한 쿼리가 실행될 때마다 동일한 조건이 발생하여 테이블을 칠 때마다 위의 코드를 작성할 필요가 없기 때문입니다. –
@Blakewell : 재사용 할 수 있도록 유틸리티 클래스에 쿼리를 넣으십시오. –
@ Reduce Copsey :'entity =>'가 누락 되었습니까? –