EF 4.3 Code Première relation un à un lors de l'utilisation d'une base de données existante
-
29-10-2019 - |
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