Ссылаясь на ваш комментарий:
На самом деле у меня есть следующее: Список AreaLocales по области, стране
свойство объекта Area и список CountryLocale для Country.
Я также предполагаю, что AreaLocale
имеет свойство Culture
(поскольку у вас, очевидно, есть свойство CultureId
в классе AreaLocale
):
var q = (from area in context.Areas
where area.IsDeleted == false
select new // or: select new SomeHelperClass
{
Id = area.AreaId,
Latitude = area.Latitude,
Longitude = area.Longitude,
CountryId = area.CountryId,
AreaLocales = area.AreaLocales.Select(areaLocale => new
{
Description = areaLocale.Description,
Name = areaLocale.Name,
CultureId = areaLocale.Culture.CultureId,
CultureDisplayName = areaLocale.Culture.DisplayName
}),
CountryNames = area.Country.Countrylocales.Select(
countryLocale => countryLocale.Name)
})
.ToList();
Объекты результатов имеют два вложенных списка, четыре AreaLocales и CountryNames. Если в любом случае это почти все свойства классов, вы также можете просто использовать готовую загрузку:
var q = (from area in context.Areas
.Include(a => a.AreaLocales.Select(al => al.Culture))
.Include(a => a.Country.CountryLocales)
where area.IsDeleted == false
select area)
.ToList();
Entity Framework создаст необходимые объединения, когда эти запросы LINQ будут переведены в SQL.