Хорошо, потерпите меня ... я не делал ни одного Linq или Lambda, пока пару дней назад:)
Я использую C # и ADO.NET Entity Framework.Я хочу запросить мою модель и получить список объектов на основе отношения.
Вот мой код:
var query = db.Achievements.Join
(
db.AchievementOrganisations,
ach => ach.AchievementId,
ao => ao.AchievementId,
(ach, ao) => new { Achievement = ach }
);
var query2 = from s in db.Achievements
join h in db.AchievementOrganisations
on s.AchievementId equals h.AchievementId
select s;
(извините за форматирование)
Мойвопрос в том, почему первый запрос, который я считаю лямбда-выражением, возвращает анонимный тип:
{System.Data.Objects.ObjectQuery<<>f__AnonymousType1<MyApp.Models.Achievement>>}
... но во втором запросе (запрос LINQ) я получаю строго типизированное значение назад:
{System.Data.Objects.ObjectQuery<MyApp.Models.Achievement>}
Почему это?
Приветствия,
Бен