mam tej konfiguracji z kodem pierwszego modelukorzystania z właściwości nawigacyjne z IdentityUser gdy LazyLoading jest wyłączony
public class TestContext :IdentityDbContext<TestUser>
{
public TestContext()
: base("TestConnection")
{
this.Configuration.LazyLoadingEnabled = false;
}
public DbSet<Customer> Customers{get;set;}
}
public class TestUser : IdentityUser
{
public virtual Customer Customer { get; set; }
}
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName {get; set;}
}
Mam rozszerzyła IdentityUser zawiera instancję klasy „Klient”.
Rozważmy teraz ten kod:
var user = UserManager.FindById("some id");
if (user != null)
{
string str=user.Customer.FirstName; //since lazy loading is off, user.Customer is null and hence gives null reference exception.
}
od leniwy załadunku jest wyłączony, user.Customer jest nieważne i tym samym daje wyjątku null odniesienia. Cieszę się, jeśli ktoś może mi pomóc w dostępie do właściwości nawigacyjnych IdentityUser, gdy LazyLoading jest wyłączony.
Dzięki.
Czy konfiguracja odbywa się na relacji pomiędzy użytkownikiem UżytkownikTestowy a Klientem? – jd4u
Czy potrzebujemy specjalnej konfiguracji dla tej relacji? Przykro mi, ale nie jestem tego świadomy, proszę, oświeć mnie. –
Dwie rzeczy: 1. Metoda OnModelCreating z DbContext i 2. LazyLoadingEnabled: http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/reading-related-data-with- the-entity-framework-in-an-asp-net-mvc-application – jd4u