Question

J'ai deux tables dans ma base de données qui ont une relation individuelle. Je souhaite y accéder avec EF en utilisant l'approche du code First. J'ai écrit les classes POCO comme ceci:

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; }
}

Et j'ai également décrit les relations entre ces classes dans le création d'on comme expliqué ici. C'est à quoi cela ressemble:

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

Mais lorsque j'exécute l'application, j'obtiens cette exception lorsque j'essaie d'accéder aux tables d'utilisateur:

Nom de la colonne non valide "user_id"

Bien que lorsque je laisse EF créer une nouvelle base de données à elle seule avec ces deux tables, elle crée une base de données qui a la même structure comme le mien et ça marche.

J'utilisais EF 4.3 (j'ai aussi essayé 4.2) et MS SQL 2008. Qu'est-ce que je fais de mal? Je ne peux pas croire que ce soit un Bug of Entity Framework.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top