Я использую Simple.Data ORM. Я пытаюсь сделать запрос из двух соединенных таблиц. Этот запрос работает нормально:
dynamic alias;
var candidatesRec = db.dbo.Candidates
.FindAll(db.dbo.Candidates.CommonOfferId == commonOfferId
&& db.dbo.CandidateProfiles.CandidateId == null)
.LeftJoin(db.dbo.CandidateProfiles, out alias)
.On(db.dbo.Candidates.Id == alias.CandidateId)
.Select(
db.dbo.Candidates.Id,
db.dbo.Candidates.Email
)
.OrderByDescending(db.dbo.Candidates.ApplicationDate)
Но когда добавляется эта строка:
.Skip((pageNumber - 1) * pageSize)
Я получаю это исключение:
Идентификатор с несколькими частями \ "dbo.CandidateProfiles.CandidateId \" может не связаны.
Я пытался явно пропускать 0, 1 и несколько других чисел для пропусков, но всегда получаю то же исключение.
Мой тестовый запрос должен возвращать 4 элемента, и я пропускаю 0 элементов (это может быть больше при обычном использовании).
Дополнительная информация: CandidateProfiles
имеет внешний ключ от Candidates
, а CandidateId
может быть нулевым.
Изменить: мы сделали обходной путь для этой проблемы, но мне действительно интересно, почему этот не будет работать. Simple.Data выглядела забавно сначала, но теперь я не уверен, буду ли я использовать ее в будущем