2016-09-22 1 views
3

Ich erhalte den folgenden Fehler zu Gruppe, die versucht und einige Werte über LINQ in EF6 Summe:kann nicht einen konstanten Wert des Typs ‚System.Char‘ erstellen

kann nicht einen konstanten Wert von Typ schaffen ' System.Char '. In diesem Kontext werden nur primitive Typen oder Aufzählungstypen unterstützt.

Ich habe ein halbes Dutzend ähnlicher Fragen zu StackOverflow angeschaut und kann mein Problem nicht finden. Hier ist die Abfrage:

var q = from c in _context.HoursProviderCosts 
     where c.PatientInsuranceCompanyName == insuranceName 
      && c.HoursDate >= startDate 
      && c.HoursDate <= endDate 
     group c by new { c.ID, c.PatientFirstName, c.PatientLastName } into g 
     select new Models.InsuranceCostListItem 
     { 
      PatientID = g.Key.ID, 
      PatientName = g.Key.PatientFirstName + ' ' + g.Key.PatientLastName, 
      Total = g.Sum(x => x.ProviderRate) 
     }; 

return q.ToList(); 

Ist es etwas in meiner Gruppierung (die ich neu bin)? Das zugrundeliegende EF6-Modell ist in Ordnung (ich kann die Ergebnisansicht von _context.HoursProviderCosts erweitern und die Daten gut anschauen).

Dank

Edit: Methodensignatur:

public List<Models.InsuranceCostListItem> InsuranceCostsListItems(DateTime periodStart, string insuranceName) { 
+0

Versuchen Sie es mit einer Zeichen anstelle eines char wörtliche: ' PatientName = g.Key.PatientFirstName + "" + g.Key.PatientLastName' –

+2

@EdPlunkett AGH! Was für ein Tag ... Toss es in einer Antwort und ich werde es markieren – jleach

Antwort

6

Versuchen Sie, eine Stringliteral anstelle eines char wörtlichen mit:

PatientName = g.Key.PatientFirstName + " " + g.Key.PatientLastName 
Verwandte Themen