Я использую EF с POCO для одного из моих проектов.
Контекст данных и документы созданы успешно, и я могу получить данные.Есть одна проблема: свойства навигации всегда равны нулю.
У меня есть два класса:
public class UserProfile {
public string Username { get; set; }
public int RoleId { get; set; }
public virtual SecurityRole SecurityRole { get; set; }
}
public class SecurityRole {
public int roleId { get; set; }
public string RoleDescription { get; set; }
}
public class DataContext : ObjectContext {
public ObjectSet<UserProfile> UserProfiles { get; set; }
public ObjectSet<SecurityRole> SecurityRoles { get; set; }
public DataContext() : base("name=datacontext_entities", "datacontext_entities") {
UserProfiles = CreateObjectSet<UserProfile>();
SecurityRole = CreateObjectSet<SecurityRole>();
}
}
База данных содержит объекты из userprofile и securityrole.Внешние ключи установлены.Я получаю доступ к этим элементам простым запросом linq: Db.UserProfile.FirstOrDefault(f => f.Username == username);
, где Db
- мой текстовый текст.
Весь объект профиля пользователя будет иметь данные, но свойство навигации SecurityRole всегда будет нулевым.
Я что-то упустил?