在EF 7 (beta 6)中,我首先使用了代码,然后编写了以下代码:
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属性,而不是外键。
发布于 2015-09-10 21:10:16
升级到beta7。数据属性在beta 6中不被识别。
https://stackoverflow.com/questions/32508464
复制相似问题