나는 조직을위한 웹 사이트에서 일하고 있는데, 이것은 비영리 단체이며 무료입니다. 그래서 나는 나를 위해 일하는 사람을 찾고 있습니다. 단지 약간의 도움이됩니다. 그것은 나에게 비교적 새로운으로 뭔가 내가 ASPNET 엔티티 물건을 사용many to many relationship에 대한 Linq 쿼리
데이터베이스
그래서 내가 쿼리하고 테이블이
- AspNetRoles
- AspNetUserRoles
- AspNetUsers
내가도의 테이블이 있습니다 매우 까다로운 발견하고 내 자신
- myEvents (Id, Title, PrivateEvent)
- myEventsInRoles (EventId, RoleId)
- EventId is FK to myEvents(Id) and RoleId is FK to AspNetRoles(Id)
이제 내 ADO 엔터티 모델을 만들었을 때 MyEventsInRoles (AspNetUserRoles와 같은)에는 AspNetUserRoles와 같은 외래 키인 두 개의 열만 있기 때문에 엔티티를 생성하지 않습니다. 그래서 그 두 테이블은 linq로 쿼리 할 수 없습니다.
그래서 내 시나리오에서이
사용자가 로그인하고 이벤트 목록을 볼 수 싶어한다. 예
- AspNetUsers
- Id=1
- AspNetUserRoles
- UserId=1, RoleId=1
- AspNetRoles
- Id=1, Name=Red Team
- Id=2, Name=Blue Team
- Id=3, Name=Green Team
- myEvents
- Id=1, Title=Big event, PrivateEvent=0
- Id=2, Title=Red And Green Team event, PrivateEvent=1
- Id=3, Title=Blue Team event, PrivateEvent=1
- myEventsInRoles
- EventId=2, RoleId=1
- EventId=2, RoleId=3
- EventId=3, RoleId=2
될 수 있도록 그래서 우리의 사용자가 레드 팀
에 생각한 그들은 다음과 같은 규칙에 해당해야하기 때문에 이벤트 1, 2해야 볼 수 그들을 위해 선택한 이벤트
- PrivateEvent 플래그가 false로 설정된 모든 이벤트
- 모두 PrivateEvent 플래그가 true로 설정된 이벤트 및 이벤트 ID가 myEventsInRoles에 있고 사용자의 역할 ID가 동일합니다. myEventsInRoles
에서 해당 레코드와 관련된 그래서 나는이 조금 더 복잡하지만, 생각 빅 이벤트와 레드 팀 이벤트
을 보여야하는데 나는 또한 운동을 할 수없는 다른 비슷하지 쿼리, 이는 단순히 사용자에 대한 모든 역할 ID 및 역할 이름을 가져 오는 것입니다.
누군가가 이것을 도울 수 있다면, 단지 답을 찾는 것이 아니라 누군가가 어떻게 작동 하는지를 설명 할 수 있다면 :) –
아마도 이것이 도움이 될 것입니다 : http://stackoverflow.com/questions/27067791/ef-fluent-api- 다 대다 - 다 -이 - id 필드 이름/27113924 # 27113924 – alexo