2011-04-30 4 views
4

엔터티 모델을 처음부터 만들 때 문제가 있습니다. 필자는 성공적으로 개체를 디자인하고 데이터베이스 생성을 생성합니다. 내가엔터티에 Linq이 내 엔터티 형식을 인식하지 못합니다.

var t = from e in entity.UsersSet 
     where e.Id == 1 
     select e; 

같은 LINQ 요청을 할 때 내 UsersSet 속성 ObjectSet 타입 인 반면 내 '전자'변수는 사용자 개체로 인식되지 않는 것처럼하지만 보인다. 내 표현이 "e.Id"에서 입력을 중지하면 , 내가 VS에서 경고 나 이야기가 있습니다

인수 유형 '람다 표현식은'형식 '문자열'

를 파라미터에 할당 할 수없는 나는 왜 그것이 나에게이 오류를주는 지 이해하지 못한다. 나는 또 다른 프로젝트를 점검했고 잘 작동하고있다. 아마 레퍼런스 나 뭔가를 그리워 할거야 ... 어떤 생각? 특정 UsersSet이 User 인스턴스의 컬렉션의 일부 종류의 경우

+0

변수에 다른 이름을 사용해 보셨습니까 .. –

+0

어떻게'UsersSet'가 선언 되었습니까? 'Id'는 어떻게 선언됩니까? –

+0

모두가 엔티티 엔진에 의해 생성됩니다. 방금 Visual Studio에 통합 된 디자이너로 클래스를 디자인했습니다. 그리고 네, 아무 것도 바꿀 수없는 또 다른 이름을 시도했습니다. – Paul

답변

2

당신은

var t = from User e in entity.UsersSet 
     where e.Id == 1 
     select e; 
+0

질문은 엔티티에 linq 태그가 붙어 있습니다. - 'UsersSet'이 참으로 엔티티이면, 강하게 입력되었으므로 응답이 아무것도 변경하지 않습니다. 요약해도 캐스팅을 시도해도 작동하지 않습니다. 어떻게 도움이 될지 모르겠습니다. – BrokenGlass

+0

@BrokenGlass Users 세트가 비 제네릭 컬렉션 인 경우, e는 object 유형이고 하나는 명시 적으로 요소 유형을 명시해야합니다. –

+0

와우 ... 문제가 해결되었습니다. 그리고 너무 어리석은 ... 사실 나는 방금 시스템을 놓쳤습니다. 그 VS를 사용하는 린크는 나에게 경고하지 않았습니다. 강력하게 참조를 입력하려고 할 때 문제를 발견 한 것입니다. 그래서 당신의 대답을 받아 들였습니다. – Paul

4

이 조금 늦었 시도 할 수 있습니다,하지만 난 그냥이 정확한 문제를 봤 (여기 종료).

위의 해결 방법으로 문제가 해결되었지만 "using System.Linq;"를 추가하여 해결할 수도 있습니다. 문제를 해결했습니다.

관련 문제