J'ai la méthode LINQ ci-dessous que j'essaie de créer. Le problème semble être la deuxième clause WHERE. Je reçois cette erreur ->Multiple WHERE dans la même méthode SQL LINQ 2
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<MatrixReloaded.Data.CMO.tblWorkerHistory>' to 'bool'
J'ai aussi eu &&
là vs WHERE
mais je recevais une erreur semblable. Je n'ai besoin de rien de tblWorkerHistories
sauf les choses EndDate
.
Il y a un plusieurs à plusieurs entre les 2 tables avec EnrollmentID
étant sur FK les deux.
public static DataTable GetCurrentWorkersByEnrollmentID(int enrollmentID)
{
using (var context = CmoDataContext.Create())
{
context.Log = Console.Out;
var currentWorkers = from enrollment in context.tblCMOEnrollments
where enrollment.EnrollmentID == enrollmentID
where enrollment.tblWorkerHistories.Where(a => a.EndDate == null || a.EndDate > DateTime.Now)
select
new
{
enrollment.CMONurseID,
enrollment.CMOSocialWorkerID,
SupportWorkerName = enrollment.tblSupportWorker.FirstName + " " + enrollment.tblSupportWorker.LastName,
SupportWorkerPhone = enrollment.tblSupportWorker.Phone
};
return currentWorkers.CopyLinqToDataTable();
}
}
En termes SQL Je suis en train pour ce faire -> 'dE tblWorkerHistory h \t jointure tblCMOEnrollment e \t \t sur h.EnrollmentID = e.EnrollmentID OÙ h.EnrollmentID = anINTHere ET (h.EndDate IS NULL) OR (h.EndDate> GetDate ()) ' –
J'essaie de limiter mon jeu de résultats de' tblCMOEnrollments' basé sur le champ EndDate dans 'tblWorkerHistor ies' –
Merci, ça a fait l'affaire. Side Note, y a-t-il une différence entre utiliser un second WHERE et &&? Ils semblent tous les deux fonctionner .... –