2013-07-17 5 views
0
하지 않기 때문에 람다 표현식이 '문자열'로 변환 할 수 없습니다

linqPad를 사용할 때 다음과 같은 오류 얻을 :LinqPad 오류 : '문자열'는 대리자 형식

Lambda expression cannot be converted to 'String' because 'String' is not a delegate type.

다음 코드를 복사.

어떤 문제 일 수 있습니다. 엔티티 프레임 워크를 사용하고 linqPad를 구성하여 엔티티 프레임 워크 객체를 읽도록 구성했습니다.

linqPad를 사용하여 EF 쿼리를 만들 수 있습니까? 아니면 엄격하게 linq입니까?

dim db As PlanITEntities = New PlanITEntities 

Dim projects = From p In db.Projects.Include(Function(p) p.AvailableSpaceTypes) _ 
            .Include(Function(p) p.DisadvantageDegree) _ 
            .Include(Function(p) p.FundingSources) _ 
            .Include(Function(p) p.PartnerApprovalStatusCode) _ 
            .Include(Function(p) p.PhysicalConstraintTypes) _ 
            .Include(Function(p) p.PolicyConstraintTypes) _ 
            .Include(Function(p) p.Profile) _ 
            .Include(Function(p) p.Program) _ 
            .Include(Function(p) p.Program1) _ 
            .Include(Function(p) p.Recommendation) _ 
            .Include(Function(p) p.RequestType) _ 
            .Include(Function(p) p.SchematicDesignSource) _ 
            .Include(Function(p) p.Recommendation1) _ 
            .Include(Function(p) p.StatusCode) _ 
       Where (p.DeleteFlag <> True) _ 
       Select p 
+0

EF를 LinqPad와 함께 사용할 수는 있지만 LinqPad에서 EF에 대한 연결을 설정할 때이 [steps] (http://www.linqpad.net/entityframework.aspx)를 따라 갔습니까? –

+1

또한'Language' 드롭 다운에서 무엇을 선택 했습니까? 'VB Expression','VB Statement (s)'또는'VB 프로그램'? –

+0

나는 매개 변수로만 문자열을 가져 왔다고 생각했다. http://msdn.microsoft.com/en-us/library/bb738708.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1 – sgmoore

답변

1

개체 "p"의 속성 중 하나 이상이 문자열이 아닌 것 같습니다. 그러나, 당신은 대부분 포함하는 것을 오해하고 있습니다. 그것은 당신이 지정하는 관련 테이블을 열렬하게로드합니다. 당신이 있었다면 그래서 :

Dim projects = From p In db.Projects.Include("Managers") 

그것은 열망로드는 "프로젝트"테이블의 각 행에 대한 "관리자"테이블에서 관련 기록의 모든 쿼리가 실행되는 것이다 때. 어쨌든, 나는 이것이 당신이 게시 한 코드로 성취하려고 시도한 것이라고 생각하지 않습니다.

+0

이것은 디버그하려고하는 다른 사람의 코드입니다. 이 include 문에있는 모든 항목이 찾아보기 테이블을 참조하는 것처럼 보입니다. –

+0

그리고 룩업 테이블은 p.Program 등에서 참조되는 문자열과 동일한 이름을 갖고 있습니까? –

+0

Program1과 recommendation1을 제외한 모든 것처럼 보입니다. 나는 그것들을 꺼내어 같은 오류를 범했다. –