Сначала я использую код EF 4.1.У меня есть модель пользователя и модель настройки.Каждый раз, когда хранилище возвращает пользователя, параметр также загружается.Я отметил параметр как виртуальный, все мои модификаторы доступа являются общедоступными. LazyLoadingEnabled и ProxyCreationEnabled включены по умолчанию.Чего мне не хватает?
public class User : BaseEntity
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public virtual ICollection<Setting> Settings { get; set; }
}
public class Setting
{
public int UserID { get; set; }
public int SettingID { get; set; }
public string Value { get; set; }
}
У пользователя может быть несколько настроек, поэтому в настройке есть отношение один ко многим с внешним ключом.Пользовательская конфигурация
public class UserConfiguration : EntityTypeConfiguration<User>
{
public UserConfiguration()
{
HasKey(u => u.ID);
HasMany(u => u.Settings).WithOptional().HasForeignKey(u => u.UserID);
}
}
и Конфигурация настройки:
public class SettingsConfiguration : EntityTypeConfiguration<Setting>
{
public SettingsConfiguration()
{
ToTable("UserSettings");
HasKey(s => new { s.UserID, s.SettingID });
}
}