Выражение LINQ хорошо работает в LINQPad, но в Silverlight возвращает пустой результат - PullRequest
0 голосов
/ 11 декабря 2010

Это простое левое внешнее объединение в LINQ (как в примере с MS). Хорошо работает в LINQPad:

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

Это выражение в стороне домена Silverlight:

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; }
}

А в «Сущность стороны»:

DomainService1 ctx2 = new DomainService1();
xxxGrid.ItemsSource = ctx2.MyPs;
var q2 = ctx2.GetTetszikQuery();
ctx2.Load(q2);

Результатом будет пустая сетка ...: (

Пожалуйста, помогите мне! Спасибо!

1 Ответ

0 голосов
/ 11 декабря 2010

Предоставляет ли служба домена способ ItemsSource отлавливать изменения?Если нет, переназначьте его на ItemsSource после получения данных из базы данных.

...