J'ai une exception étrange lorsque j'essaie de savoir si une propriété dans une liste d'objets est égale pour tous les objets.La collection a été modifiée exception linq-to-objects
Ceci est mon code:
bool lvNoGuests = pvBillData.Reservering.Dagen.All(x =>
{
return x.AantalKinderen == pvBillData.Reservering.Dagen[0].AantalKinderen &&
x.AantalVolwassenen == pvBillData.Reservering.Dagen[0].AantalVolwassenen
});
L'idée est d'utiliser le .Toutes pour voir si tous les membres de la liste ont la même valeur pour les deux propriétés que la première entrée dans la liste.
Les propriétés sont des getters simples (pas la propriété auto) et ne modifient rien.
Lorsque j'exécute ce code, j'obtiens une exception InvalidOperationException "La collection a été modifiée, l'opération d'énumération peut ne pas s'exécuter".
Quelqu'un a une idée pourquoi?
Les listes ne sont pas des listes genericht .net mais sont de type XPCollection (framework XPO de DevExpress).
Vous n'êtes donc pas traiter à des objets, mais LINQ avec la mise en œuvre DevExpress XPO LINQ? – Steven
Je ne suis pas sûr de linq, mais je pense que c'est un linq-to-objects ordinaire, puisque je n'interroge pas la base de données à la volée avec linq, mais j'interroge les obejcts XPO en cache. Qui sont en interne certaines listes de fantaisie avec la mise en cache et le rechargement de DB. – Henri