Sto usando Simple.Data ORM. Sto provando a fare una query da due tabelle unite. Questa query funziona bene:Simple.Data ORM. L'identificatore multiparte non può essere associato
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)
Ma quando si aggiunge questa riga:
.Skip((pageNumber - 1) * pageSize)
sto ottenendo questa eccezione:
I più parti identificatore \ "dbo.CandidateProfiles. CandidatoId \ "potrebbe essere non essere vincolato.
Ho cercato esplicitamente di passare 0, 1 e pochi altri numeri su Skip ma ottengo sempre la stessa eccezione.
La mia query di test dovrebbe restituire 4 elementi e sto saltando 0 elementi (può essere più nel normale utilizzo).
Ulteriori informazioni: CandidateProfiles
ha chiave esterna da Candidates
ed è CandidateId
può essere nullo.
Modifica: Abbiamo risolto il problema, ma sono davvero curioso di sapere perché questo non funzionerà. Simple.Data sembrava divertente in un primo momento, ma ora non sono sicuro se userò in futuro
Potrebbe includere uno script per la creazione delle tabelle così posso provare a replicare è localmente? Da un primo sguardo, sembra che si tratti di un bug all'interno della libreria, ma dovrei dare un'occhiata più da vicino all'SQL che sta generando (e com'è) – Rob