Дозвуковая OpenExpression/CloseExpression
-
20-09-2019 - |
Вопрос
Всем привет! Я пытаюсь построить запрос, который что -то вроде этого:
Где column = "value" и column2 = "value" и (column3 = "value" или column4 = "value")
У меня есть этот код:
return new Select()
.From(LessonChallenge.Schema)
.Where(LessonChallenge.ChallengerStatusColumn).IsEqualTo("Finished")
.And(LessonChallenge.ChallengeeStatusColumn).IsEqualTo("Finished")
.OpenExpression()
.And(LessonChallenge.ChallengerAccountIDColumn).IsEqualTo(accountID)
.Or(LessonChallenge.ChallengeeAccountIDColumn).IsEqualTo(accountID)
.CloseExpression()
.OrderDesc("dateCompleted")
.Paged(1, numItems)
.ExecuteAsCollection<LessonChallengeCollection>();
Проблема в том, что дозвуковая добавление и после скобок. Как я могу отменить это?
Решение
Вы должны быть в состоянии сделать:
return new Select()
.From(LessonChallenge.Schema)
.Where(LessonChallenge.ChallengerStatusColumn).IsEqualTo("Finished")
.And(LessonChallenge.ChallengeeStatusColumn).IsEqualTo("Finished")
.AndExpression(LessonChallenge.ChallengerAccountIDColumn).IsEqualTo(accountID)
.Or(LessonChallenge.ChallengeeAccountIDColumn).IsEqualTo(accountID)
.OrderDesc("dateCompleted")
.Paged(1, numItems)
.ExecuteAsCollection<LessonChallengeCollection>();
Не связан с StackOverflow