2012-04-04 6 views
0

In diesem C# -Code muss ich den userName-Wert von Zeichenfolge in Int-Typ konvertieren. Weiß jemand, bitte helfen Sie mir. Ich habe einen Fehler als Kompilierungsfehler "Kann Lambda-Ausdruck nicht in Typ 'int' konvertieren, da es sich nicht um einen Delegattyp handelt".Kann Lambda-Ausdruck nicht in Typ 'Int' konvertieren, da es kein Delegattyp ist

 ShoppingCartPartRecord cartRecord = null; 
     try { 
      cartRecord = _shoppingCartRepository.Get(r => r.Username == userName); 
     } 
     catch (InvalidOperationException ex) { 
      if (ex.Message == "Sequence contains more than one element") { 
       var badCarts = _shoppingCartRepository.Table.Where(x => x.Username == userName); 
       foreach (var shoppingCartPartRecord in badCarts) { 
        _shoppingCartRepository.Delete(shoppingCartPartRecord); 
       } 
      } 
     } 

Vielen Dank im Voraus.

+1

Was ist der Typ von '_shoppingCartRepository', ich vermute, die Get-Methode erfordert ein int. Benötigen Sie '_shoppingCartRepository.Table.First (r => r.Username == userName)'? –

+0

Was ist Get ?? ist es eine Methode von _shoppingCartRepository ??? – Habib

+0

Ja, ich muss die Methode int der Methode Get zuweisen. Aber das funktioniert nicht. – Leo

Antwort

1

Ohne die Quelle zu Ihrem Repository können wir nur raten, was die Methoden tun.

Von den Fehlern Sie die get-Funktion beschreiben erwartet entweder ein Index in einem Array oder einem ganzzahligen Primärschlüssel und so ist die falsche Funktion

Sie sollten den Code ändern können wie folgt den gewünschten Effekt zu erzielen

ShoppingCartPartRecord cartRecord = null; 
    try { 
     cartRecord = _shoppingCartRepository.Table.Single(r => r.Username == userName); 
    } 
    catch (InvalidOperationException ex) { 
     if (ex.Message == "Sequence contains more than one element") { 
      var badCarts = _shoppingCartRepository.Table.Where(x => x.Username == userName); 
      foreach (var shoppingCartPartRecord in badCarts) { 
       _shoppingCartRepository.Delete(shoppingCartPartRecord); 
      } 
     } 
    } 
Verwandte Themen