Я новичок в C # Entity Framework. Я создал три класса
- Страна
- Площадь
- Подрайон
Между страной и территорией существует отношение многих ко многим. Между Районом и Подрайоном существует еще одно отношение многих ко многим.
Страна может содержать много областей, но есть также области, которые принадлежат более чем одной стране). То же самое для Района и Подрайона.
Я создал соответствующие классы, и таблицы базы данных были созданы автоматически. Также были созданы таблицы для CountryAreas и SubAreaAreas, поэтому все выглядит хорошо. Также внешние ключи выглядят хорошо.
Я могу записывать данные в таблицы с помощью (см. Ниже).
Сейчас я борюсь за то, чтобы все страны с соответствующими районами и подрайонами были выбраны из базы данных.
Я прочитал пару постов и похоже, что мне не хватает базовых знаний о запросах LINQ и Entity Framework.
public class Country
{
#region attributes
[Key]
public string Name { get; set; }
public List<Area> Areas { get; set; } // virtual enabled lazy loading
#endregion
}
public class Area
{
#region attributes
[Key]
public string Name { get; set; }
public virtual List<SubArea> Subareas { get; set; }
public virtual List<Country> Countries { get; set; }
#endregion
}
public class SubArea
{
#region attributes
[Key]
public string Name { get; set; }
public virtual List<Area> Areas { get; set; }
#endregion
}
public class LocationScoutContext : DbContext
{
public LocationScoutContext()
: base("name=LocationScout")
{
}
public DbSet<Country> Countries { get; set; }
public DbSet<Area> Areas { get; set; }
public DbSet<SubArea> SubAreas { get; set; }
}
// *** reading the data works fine ***
using (var db = new LocationScoutContext())
{
db.Countries.Add(newCountry);
db.SaveChanges();
}
// *** I tried this ***
var allCountries = new List<Countries>();
using (var db = new LocationScoutContext())
{
var query = from c in db.Countries select c;
}
foreach (var c in query)
{
allCountries.Add(c);
}
Я попробовал что-то похожее, как показано выше, но это, очевидно, не делает никакого объединения и просто дает мне названия стран с пустыми областями и субрегионами.
Любая помощь приветствуется: -)