Dans EF 7 (bêta 6) J'utilise code premier et je l'ai fait ce code:Entity Framework 7 relation question
public class User {
// Primary key
public int Id {get;set;}
// Some attributes
public string FirstName {get; set;}
public string LastName {get; set;}
// Foreign keys
public int CityOfBirthId {get;set;}
public int CityHomeId {get;set;}
// Navigation methods
[ForeignKey("CityOfBirthId")]
public virtual City CityOfBirth {get;set;}
[ForeignKey("CityHomeId")]
public virtual City CityHome {get;set;}
}
public class City {
// Primary key
public int Id {get;set;}
// Attributes
public string Name {get;set;}
// Navigation methods
[InverseProperty("CityOfBirth")]
public virtual ICollection<User> UsersBorn {get;set;}
[InverseProperty("CityHome")]
public virtual ICollection<User> UsersHome {get;set;}
}
J'ai aussi ajouté ce code dans mon ApplicationDBContext
public DbSet<User> Users {get;set;}
public DbSet<City> Cities {get;set;}
J'ai quelques problèmes avec l'outil de migration. Avec juste sur la relation par entité (par exemple j'écris juste la relation CityHome) cela fonctionne, mais avec deux relations (comme le code ci-dessus) l'outil de migration ne crée pas de relations. Dans les tableaux, j'obtiens seulement des attributs et CityOfBirthId et CityHomeId ne sont que des attributs int, c'est-à-dire des clés étrangères.
Avec seulement un travail, mais lorsque vous essayez à la fois, à la fois le travail de doesnt? Peut-être un étrange comportement de l'Entité, ne voulant pas remorquer la clé étrangère pour relier la même table ... –