Вот быстрая настройка:
- настольное приложение (приложение Windows Forms, работающее на XP, .NET 4.0), подключенное к службе данных WCF (используя .NET 4.0, размещенное на IIS 7.5)
- 3 таблицы: T1, T2, T3 (SQL Server 2008)
- T2 имеет FK, который ссылается на T1
- T2 имеет FK, который ссылается на T3
- в другихслова Т2 разрывает многие ко многим между Т1 и Т3.Кроме того, в T2 есть несколько дополнительных столбцов (это не просто таблица «соединения»).
Мы пытаемся использовать следующее расширение:
...
from r in proxy.T1.Expand("T2/T3") where r.ID = 100
...
Это расширение возвращает другое числострок в T2, чем ожидалось.
Если мы не включим T3 следующим образом:
...
from r in proxy.T1.Expand("T2") where r.ID = 100
...
мы получим надлежащее количество строк T2 обратно.Кроме того, когда мы запускаем SQL напрямую, все выглядит хорошо.