2016-06-08 18 views
1

Ich versuche SQL zu konvertieren LINK AbfrageSQL Linq-Abfrage konvertieren

Ich versuche, dieses

SQL Abfrage

Select name, count(*) from tblVehicles 
WHERE MID = 23065 and name<> '' Group By name 

LINQ Abfrage

var re = (from vehvoila in DB.tblVehicles 
      where vehvoila.MID='23065' && vehvoila.name 
      group vehvoila by new{vehvoila.name} into g 
      select new 
      { 
       g.Key.name, 
       cnt=g.Select(t=>t.name).Count() 
      }); 

Wie verwende ich < > in LINQ?

Antwort

5

Was für Sie arbeiten könnte, ist

where vehvoila.MID == "23065" && !(vehvoila.name == null || vehvoila.name == "") 

oder nur

where vehvoila.MID == "23065" && vehvoila.name != "" 

String.IsNullOrEmpty nicht in Linq-SQL unterstützt:

Methode ‚Boolean IsNullOrEmpty (System.String) 'hat keine unterstützte Übersetzung in SQL.

+0

ich versuche, dieses && (vehvoila.name == „“) und Fehler auftreten, auf dieser ‚23065‘ Fehler \t Zu viele Zeichen in Zeichenliteral –

+1

Sie versuchen, einfache Anführungszeichen für Stringliterale zu verwenden - das ist ungültig in C#, im Gegensatz zu SQL. Einfache Anführungszeichen sind für Zeichenliterale (char). Sie benötigen doppelte Anführungszeichen für Zeichenfolgenliterale. Sehen Sie meine bearbeitete Antwort –

+0

ich versuche dieses vdevoila.MID == "23065" aber zeigt Fehler .. so, wenn ich diese Arbeit verwende, wo vegaila.MasterID.Equals ("23065") &&! (Vehvoila.VName == " ") –