Bonjour,

J'essaie de lire dans un BD avec Linq to SQL, mon programme me lance constamment une exception : "System.ArgumentOutOfRangeException"

L'identifiant est composé de type et code_id exemple : anatomy + 120

Donc dans ce cas, je veux chercher dans la bd un enregistrement id(anatomy + 120)
Plus un enregistrement id(anatomy + 12)
Plus un enregistrement id(anatomy + 1)

Ce code ci-dessous doit faire ceci, mais fais crash l’application. J'ai essayé d'autre boucle, ... Sans succès.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
        internal List<BeanCode> getCodes(string type, string code_id)
        {
            List<BeanCode> listeCode = new List<BeanCode>();
 
            var code = from e in db.codeImage where e.Type == type && e.Code == code_id select e;
            while (code.Any()) 
            {
                BeanCode ci = new BeanCode()
                {
                    Code = code.FirstOrDefault().Code,
                    Type = code.FirstOrDefault().Type,
                    Description = code.FirstOrDefault().Description
                };
 
                int i = ci.Code.Length-1;
                if (i > 0)
                    code = from e in db.codeImage where e.Type == type && e.Code == code_id.Substring(0, i) select e;
                else
                    break;
 
                listeCode.Add(ci);
            }
 
            return listeCode;
        }
Merci d'avance