Domanda

Ho due tabelle nel mio database che hanno una relazione individuale. Voglio accedervi con EF utilizzando il primo approccio del codice. Ho scritto le classi POCO come questa:

public class User
{
    public int Id { get; set; }
    public string Login { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }

    public virtual Profile Profile { get; set; }
}

public class Profile
{
    public int UserId { get; set; }
    public string FullName { get; set; }
    public DateTime? Birthday { get; set; }
    public bool? Male { get; set; }
}

E ho anche descritto le relazioni tra quelle classi nella creazione di onmodeli come spiegato qui. Ecco come appare:

modelBuilder.Entity<Profile>().HasKey(x => x.UserId);
modelBuilder.Entity<User>().
    HasOptional(u => u.Profile).
    WithRequired();

Ma quando eseguo l'applicazione ricevo questa eccezione quando provo ad accedere alle tabelle dell'utente:

Nome colonna non valido "user_id"

Sebbene quando lascio che EF crei un nuovo database da solo con queste due tabelle, crea un database che ha la stessa struttura Come mio e funziona.

Stavo usando EF 4.3 (ho provato anche 4.2) e MS SQL 2008. Cosa sto facendo di sbagliato? Non riesco a credere che sia un bug del framework di entità.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top