1

J'ai donc une base de données existante avec une table Utilisateurs et une table Aéroports avec chacune un ID de clé primaire. La table Utilisateurs a une colonne Nullable DefaultAirportID qui est un fk à l'ID de la table Airports.EF4 CTP5 mappage un à un avec la base de données existante

Voici mon Poços:

public class User : IEntity 
{ 
    [Key] 
    [Required] 
    public int ID { get; set; } 

    public int? DefaultAirportID { get; set; }   
    public Airport DefaultAirport { get; set; } 

    ... 
} 

public class Airport : IEntity 
{ 
    [Key] 
    [Required] 
    public int ID { get; set; } 

    ... 
} 

Je continue à obtenir l'erreur "nom de colonne non valide 'AirportID'.". Que dois-je faire pour qu'il remplisse l'objet DefaultAirport?

Répondre

1

Vous devez utiliser l'API couramment pour configurer votre association:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<User>() 
       .HasOptional(x => x.DefaultAirport) 
       .WithMany() 
       .HasForeignKey(n => n.DefaultAirportID);   
} 
+0

Morteza, merci pour la réponse rapide. Cela m'a fait un pas de plus. Maintenant, je ne reçois plus cette exception et le DefaultAirportID est correctement rempli, mais le DefaultAirport est null. – jimox

+0

Pas de problème, si vous voulez qu'il soit paresseux chargé, alors vous devez le marquer comme «virtuel». Sinon, il suffit de le charger avec la méthode 'Include'. –

+0

Morteza, merci beaucoup. Vous m'avez probablement sauvé beaucoup de temps de recherche. – jimox

Questions connexes