Lorsque vous attendez un jeu d'enregistrements (> = 1 enregistrement), comment vérifiez-vous cette situation d'enregistrement 0?Entity Frameworks - ToList() et 0 enregistrements
Par exemple:
RivWorks.Model.FeedStoreReadOnly store = new RivWorks.Model.FeedStoreReadOnly(AppSettings.FeedAutosEntities_connString, AppSettings.FeedAutosEntities_metadata, AppSettings.FeedAutosEntities_providerName);
RivWorks.Model.NegotiationAutos.Entities _dbFeed = store.ReadOnlyEntities();
var companyDetails = from a in _dbFeed.ClientClientMap where a.CompanyID == CompanyId select a;
return companyDetails.ToList();
Lorsque cela retourne est erroring sur le ToList() parce qu'il n'y a pas de documents qui satisfont la clause WHERE. Alors, quelle serait la bonne façon de vérifier 0 enregistrements et quel serait le retour recommandé à ce moment-là?
addition à base de réponse ci-dessous:
if (companyDetails.Count() > 0)
return companyDetails.ToList();
else
{
List<RivWorks.Model.NegotiationAutos.ClientClientMap> ret = new List<RivWorks.Model.NegotiationAutos.ClientClientMap>();
ret.Add(companyDetails.FirstOrDefault());
return ret;
}
ont pas encore testé mais (logiquement) semble fonctionner. Vous vous demandez s'il y a un moyen plus facile cependant.
NOTE:
Je l'ai compris. Le compte sous lequel SQL était en cours d'exécution n'a pas reçu le jeu d'autorisations correctes par le DBA. Nous avons modifié toutes les instructions GRANT sur les nouvelles tables/vues et cela fonctionne maintenant.
Je ne suis toujours pas sûr de la bonne réponse. Je me penche vers la création d'un vide (nouveau) enregistrer et ajouter à la liste afin que nos gars reçoivent la liste ont quelque chose à afficher (pour modifier si rien d'autre) ...
Êtes-vous sûr de l'exception? il ne devrait pas faire d'erreur, il devrait retourner une liste avec 0 enregistrements dedans. –
Quelle est l'exception que vous obtenez? – mxmissile
Sur l'exception interne, j'obtiens "Nom d'objet invalide 'dbo.ClientClientMap'". Je ne comprends pas cette erreur car je peux voir l'objet dans mon modèle et je peux très bien le référencer. –