2016-05-12 5 views
-2

Ich habe eine einfache Viewmodel-Logins zu zählen, die durch die folgende bevölkert wird: nurKann String nicht in Bool konvertieren, aber es gibt keinen bool?

public ActionResult LoginCount() 
    { 
     IQueryable<LoginGroup> data = from sysAction in db.SysActions 
              //where movie. 
             where sysAction.ActionType = "Login" 
              group sysAction by System.Data.Entity.DbFunctions.TruncateTime(sysAction.Date) into LoginGroup 
              select new LoginGroup() 
              { 
               Date = LoginGroup.Key, 
               LoginCount = LoginGroup.Count(), 
              }; 
     return View(data.ToList()); 
    } 

Es funktioniert, außer wenn ich hinzufügen, in der where-Klausel ziehen mit einem Wert von „Login“ actiontypes. Es wird kein Bool verwendet. Warum der Fehler?

+7

Sie brauchen '==', nicht '=' zum Vergleich. – CodeCaster

+0

Ahh, kann nicht glauben, dass ich das verpasst habe. Danke für die Hilfe. Repost und ich gebe dir die Antwort. Meine Güte –

Antwort

0

Wenn Sie Werte überprüfen, müssen Sie == und nicht = verwenden. Sie haben 2 sehr unterschiedliche Verwendungszwecke. == ist für die Überprüfung eines Wertes gegen einen anderen Wert und = ist für Zuweisungszwecke.

in Ihrem Fall So können Sie Folgendes versuchen:

public ActionResult LoginCount() 
{ 
    IQueryable<LoginGroup> data = 
      from sysAction in db.SysActions 
      where sysAction.ActionType == "Login" 
      group sysAction by TruncateTime(sysAction.Date) 
       into LoginGroup 
       select new LoginGroup() 
       { 
        Date = LoginGroup.Key, 
        LoginCount = LoginGroup.Count() 
       }; 

    return View(data.ToList()); 
} 

Ich hoffe, das hilft.

Verwandte Themen