Это первый раз, когда я делаю проект на C# с Entity Framework 4.3.1. У меня возникают проблемы с получением всех данных из таблицы турниров, адрес, чтобы быть точным.Entity Framework 4.3.1 Код Первое отношение не работает при получении данных
Прежде всего, вот мой код Первый код. Когда я запускаю это, 2 таблицы создаются правильно с правильным соотношением. У меня есть намного больше столбцов, определенных в этих классах, но для этого примера я показываю только несколько.
public class EFDbContext : DbContext
{
public EFDbContext()
: base("ApplicationServices")
{
}
public DbSet<Tournament> tournaments { get; set; }
public DbSet<Address> addresses { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
public class Tournament
{
[ScaffoldColumn(false)]
public int TournamentId { get; set; }
[Required(ErrorMessage="Tournament name is a required field")]
public string Name { get; set; }
[Required(ErrorMessage="Address is a required field")]
public Address Address { get; set; }
}
public class Address
{
[ScaffoldColumn(false)]
public int AddressId { get; set; }
[Required(ErrorMessage="Street name is a required field")]
public string Street { get; set; }
[Required(ErrorMessage="House number is a required field")]
public string HouseNo { get; set; }
}
}
Когда я ввожу новый турнир с адресом, и я иду проверить в базе данных, если соотношение используется, я могу видеть, что это сработало. Турнир имеет значение Address_AddressId, указывающее на новый вставленный адрес. Но когда я пытаюсь получить информацию, делая это:
Tournament tournament = context.tournaments.Find(id);
и отладить ее, я могу видеть все данные из турнира в объекте турнира, за исключением адреса. Это значение равно null, и я не знаю, почему.
Можете ли вы, ребята, помочь мне?
Спасибо заранее, Bart
Спасибо, это было действительно полезно. Я использовал метод загрузки Eager. – Bart