2010-12-11 3 views
0

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!

Antwort

0

Bietet der Domänenservice eine Möglichkeit für ItemsSource, die Änderungen abzufangen? Wenn nicht, weisen Sie es der ItemsSource zu, nachdem Sie die Daten aus der Datenbank abgerufen haben.

+0

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

+0

Folglich ist die Zuordnung gut. – karist

Verwandte Themen