В EF 7 (бета-6) я использую код-первых, и я сделал этот код:Entity Framework 7 отношений выпуск
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;}
}
Я также добавил этот код в моем ApplicationDBContext
public DbSet<User> Users {get;set;}
public DbSet<City> Cities {get;set;}
У меня проблемы с инструментом миграции. Только с отношением к сущности (например, я просто пишу отношение CityHome) он работает, но с двумя отношениями (например, с кодом выше) средство миграции не создает отношений. В таблицах я получаю только атрибуты, а CityOfBirthId и CityHomeId - это только атрибуты int istead внешних ключей.
С помощью всего лишь одной его работы, но когда вы пытаетесь как, как работа dosen't? Может быть, странное поведение Entity, не желая, чтобы буксировать иностранный ключ, связать одну и ту же таблицу ... –