Pregunta

Tengo dos tablas en mi base de datos que tienen una relación uno a uno. Quiero acceder a ellos con EF utilizando el primer enfoque del código. He escrito las clases de Poco como esta:

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

Y también describí las relaciones entre esas clases en el OnModelCreating como se explicó aquí. Así es como se ve:

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

Pero cuando ejecuto la aplicación, obtengo esta excepción al intentar acceder a las tablas de usuario:

Nombre de la columna no válido "User_id"

Aunque cuando dejo que EF cree una nueva base de datos por sí solo con estas dos tablas, crea una base de datos que tiene la misma estructura Como el mío y funciona.

Estaba usando EF 4.3 (probé 4.2 también) y MS SQL 2008. ¿Qué estoy haciendo mal? No puedo creer que sea un error del marco de la entidad.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top