2010-11-18 16 views

Antwort

4
zu schreiben
+1

Es ist nicht in LINQ to SQL funktioniert, nur primitive Typen –

+0

@Saeed getan werden kann: als, wie man es auf Linq funktioniert auf SQL? –

+0

Ich habe überprüft und es funktioniert nicht. seine generierende Ausnahme, wenn ich versuche foreach zu benutzen: Konnte den Knoten 'New' für die Ausführung als SQL nicht formatieren. –

1

ich eine gute Art und Weise nicht finden können Sie so etwas wie zu tun:

var tb1 = tblUserMaster.ToList(); 
var result = tblArea.AsEnumerable().Where(x => !tb1.Any(m => m.areaid == x)); 

aber es ist nicht ein guter Weg, es besser ist, speichern Prozedur zu schreiben, anstatt alle Daten an den Client zu laden. Vielleicht kann jemand das besser machen, aber ich denke, dass es nicht verbessert werden kann.

AsEnumerable() Schlüsselwort bewegt sich von linq-> sql zu reinem linq, aber es lädt alle Daten.

+0

@Rajesh Rolen-DotNet Entwickler, ja mit tblUserMaster.ToList(). Any (m => m.areaid == x) funktioniert –

+0

Jetzt funktioniert es, wenn ich geschrieben habe: var tb1 = tblUserMaster.ToList(); var result = tblArea.AsEnumerable() .Wobei (x =>! Tb1.Any (m => m.areaid == x.areaid)); –

1

versuchen Sie dieses

var result=from tblarea in db.TblArea 
where 
    ! 
    (from tblusermaster in db.TblUserMaster 
    select new { 
     tblusermaster.Areaid 
    }).Contains(new { tblarea.Areaid }) 
select new { 
    tblarea.Areaid, 
    tblarea.Column1, 
    tblarea.Column2 
} 
+0

es funktioniert nicht, es gibt mir einen Fehler. –

+0

Welchen Fehler bekommst du, ich habe versucht, eine funktionierende Version von diesem in meiner Maschine und es hat gut funktioniert. – Raymund