-3
Donc, j'ai une requête qui obtient des données correctement mais dès que j'essaie de filtrer l'instruction linq avec une où entre les dates, je reçois systématiquement zéro résultat.Linq entre les dates
var query= Enumerable.Empty<CustomClass>().AsQueryable();
query= (from auto in db.AutoInvs
join deal in db.Deals on new { inv = auto.INVUID, client = auto.CLIENTID, acct = auto.ACCOUNT} equals new {inv = deal.INVUID,client = deal.CLIENTID, acct = (int?) deal.ACCOUNT}
join dmCust in db.DMCusts on new {inv = auto.INVUID, client = auto.CLIENTID, acct = auto.ACCOUNT.ToString()} equals new {inv = dmCust.INVUID, client = dmCust.CLIENTID, acct = dmCust.ACCOUNT}
join act in db.Acts on new { inv = auto.INVUID, client = auto.CLIENTID, acct = auto.ACCOUNT.ToString()} equals new { inv = act.INVUID, client = act.CLIENTID, acct = act.Key }
where auto.DATAPROCESSEDDATE == null && auto.INVUID != ""
select new CustomClass()
{
AutoInv = auto,
Deal = deal,
DmCust = dmCust,
Act = act
});
var filteredData = query.Where(c => c.AutoInv.DATESOLD >= dateFrom.Value && c.AutoInv.DATESOLD <= dateTo.Value).AsQueryable();
Console.WriteLine(filteredData.ToList().Count);
Veuillez lire [ask] et créer un [mcve]. Une seule ligne de code est pertinente ici, et vos données d'entrée et vos valeurs datetime sont manquantes. – CodeCaster
Je soupçonne auto.DATAPROCESSEDDATE n'est jamais nulle. L'objet DateTime ne peut pas être nul. Donc, je voudrais essayer auto.DATAPROCESSEDDATE.year <1980. L'objet DateTime par défaut est 1900. – jdweng