LINQ-LEFT-JOIN Mit einer LISTE<String>

Sagen, Sie haben eine Liste von IDs:

string str = "82174F2000000, 82174F2000001, 82174F2000002, 82174F2000003, 82174F2000004, 82174F2000005";

- Und Sie tun dies:

var tids = new List<string>(str.Replace(", ", ",").Split(','));
var tntable = tids.AsQueryable();

Und Sie vergleichen möchten, es in eine Tabelle mit einem Left Join:

var line = from c in db.Ctable
 join l  in tntable on c.CarID equals l.CarID into c_j
  from l in c_j.DefaultIfEmpty()
  select new
  {
 Name =  c.OwnerName,
 Hours = c.Hours
  };

sieht aus wie die tntable nicht über ein Feld namens 'CarID'.

Kann mir bitte jemand helfen?

Dies ist für LINQ to Entity.

Habe ich dies gesehen:

Wie vergleichen Sie in List<String> in der DB-Tabelle mithilfe von LINQ

Aber nicht wissen, zu tun, einen LEFT JOIN.

TIA!

Ich weiß, das ist lange, aber vielen Dank für das Lesen.

AKTUALISIERT MichaC:

In der Datenbank in CTable wir haben diese CarIDs:

CarID
_____
82174F2000000
82174F2000001
82174F2000002
82174F2000003

Sagen wir einfach, die Tabelle (tntable) enthält den string zerlegt in Sätze:

CarID
_____
82174F2000000
82174F2000001
82174F2000002
82174F2000003
82174F2000004
82174F2000005

So, eine LEFT JOIN-wie diese:

SELECT C.CarID, T.CarID
FROM CTable C
LEFT JOIN tntable T ON C.CarID = T.CarID

Ausbeute:

T.CarID         C.CarID
_______         _______
82174F2000000   82174F2000000
82174F2000001   82174F2000001
82174F2000002   82174F2000002
82174F2000003   82174F2000003
82174F2000004   NULL
82174F2000005   NULL 

InformationsquelleAutor scv | 2012-07-10

Schreibe einen Kommentar