Dies ist eine einfache linke äußere Verknüpfung in LINQ (wie das MS-Beispiel). Es funktioniert gut in LINQPad:LINQ-Ausdruck funktioniert gut in LINQPad, aber in Silverlight gibt leeres Ergebnis zurück
from x in Nevtars
join c in Tetsziks on x.NevtarID equals c.NevtarID into ctemp
from subc in ctemp.DefaultIfEmpty()
select new { x.Nev, subc.Tetszes }
The result:
-----------------
Nev Tetszes
Őszike 1
Őzike null
Pintyőke null
Regő null
Rezső null
Szellő null
Szellőke 2
Diese expresion in Silverlight DomainSource Seite:
public IQueryable<MyP> GetTetszik()
{
var q2 = from x in this.Context.Nevtars
join c in this.Context.Tetszik on x.NevtarID equals c.NevtarID into ctemp
from subc in ctemp.DefaultIfEmpty()
select new MyP
{
Nev = x.Nev,
Tetszes = (subc == null ? 0 : (Int32)subc.Tetszes)
};
return q2;
}
public class MyP
{
[Key]
public string Nev { get; set; }
public int Tetszes { get; set; }
}
Und in der "Entity Seite":
DomainService1 ctx2 = new DomainService1();
xxxGrid.ItemsSource = ctx2.MyPs;
var q2 = ctx2.GetTetszikQuery();
ctx2.Load(q2);
Das Ergebnis wird ein leeres Raster sein ... :(
Bitte helfen Sie mir! Danke!
Die ItemSource hat die Änderung abgefangen, und ich versuche auch zu resassign, aber das Ergebnis ist das gleiche. :(Ich habe versucht die einfache Auswahl der ersten Tabelle und dann die zweite Tabelle und dann das Raster geben das einfache Ergebnis der Tabellen. – karist
Folglich ist die Zuordnung gut. – karist