2012-08-16 2 views
1

엔티티 데이터 소스 및 쿼리를 사용하여 드롭 다운 목록을 작성하려고합니다. 나는 다음과 같은 오류 메시지가 잡하고, 나는 내가 뭘 잘못에 대해 확실하지 오전 :엔티티 데이터 소스 일대 다 대일

'사용자 아이디가'[WebAppModel Transient.collection '의 구성원이 아닙니다. UserSite (Nullable = True, DefaultValue =)] '로 설정하십시오. 컬렉션 요소의 속성을 추출하려면 하위 쿼리를 사용하여 컬렉션을 반복합니다. 표 (사이트)

  • SiteId - - PK
  • 에서 단순한 식별자 행 6 열 (69)

엔터티 데이터 소스

<asp:EntityDataSource ID="edsSites" runat="server" 
       ConnectionString="name=WebAppEntities" 
       DefaultContainerName="WebAppEntities" 
       EntitySetName="Sites" 
       Include="Sites, UserSites" 
       Where="EXISTS(SELECT Sites.SiteId, Sites.Domain FROM Sites 
          WHERE [email protected])"> 
    <WhereParameters> 
     <asp:Parameter Name="UserId" DbType="Guid" /> 
    </WhereParameters> 
</asp:EntityDataSource> 

EDM (사이트) 근처 항목

  • 조직
  • FIRSTNAME
  • 도메인
  • 주소 1
  • 주소 2
  • 도시
  • 우편 번호
  • 이 CountryId
  • 여기서 Phonenumber
  • 이메일
  • ,

    EDM (UserSite) - 테이블 (UserSites)

    • 사용자 아이디 FK
    • SiteId FK
    +0

    나는 그 게시물이 정말로 내 질문과 관련이 있다고 생각하지 않습니까? – Jason

    답변

    1

    문제 해결!

    <asp:EntityDataSource ID="edsSites" runat="server" 
                ConnectionString="name=WebAppEntities" 
                DefaultContainerName="WebAppEntities" 
                EntitySetName="Sites" 
                Where="EXISTS(SELECT VALUE u FROM it.UserSites AS u WHERE u.UserId = @UserId)" EnableFlattening="False" Select="it.[SiteId], it.[Domain]"> 
                <WhereParameters> 
                 <asp:Parameter Name="UserId" DbType="Guid" /> 
                </WhereParameters> 
    </asp:EntityDataSource> 
    
    관련 문제