세 개의 엔티티 프레임 워크 개체 인 퀴즈, 질문 및 옵션이 있습니다. 퀴즈에는 일련의 질문 객체가 있고 질문에는 일련의 옵션 객체가 있습니다. DBContext
에서 지정된 퀴즈에 대한 무작위 목록을 반환하고 각 질문에 임의로 정렬 된 관련 옵션 모음을 포함해야합니다.LINQ의 하위 쿼리에 대한 무작위 Orderby
지금까지 질문의 임의 목록을 성공적으로 가져올 수 있었지만 문제의 옵션을 무작위로 추출하는 데 문제가 있습니다.
참고 : 내가 작성한 다른 셔플 확장 메서드가 두 개 있습니다.이 예제에서는 단순화를 위해 Guid에 의한 정렬을 사용하고 있습니다.
var questions = db.Questions.Where(q => q.QuizId == quizId).Include(q => q.Options).OrderBy(a => Guid.NewGuid());
어떻게 임의로 임의로 셔플 할 수 있습니까?
필자가 작성한 몇 가지 다른 확장 프로그램이 있지만 너무 느린 것으로 입증되었습니다. 그것은 또 다른 주제이지만, 셔플의 방법이 중요하지 않다는 것을 반영하기 위해 질문을 업데이트 할 것입니다. – Crake
일단 클라이언트에 도착하면 구조를 메모리에 섞으십시오. ORM을 통해 DB 끝에 셔플하는 것이 가능할 수도 있고 그렇지 않을 수도 있습니다. – Servy
@Servy 동의하지만이 경우 클라이언트가 아니며 클라이언트 쪽에서 코드를 작성하지도 않습니다. – Crake