我首先使用EF5代码,其类型如下:
public class Region
{
public int Id { get; set; }
//...
}
public class Destination : Region
{
public virtual Origine Origine { get; set; }
//...
}
public class Origine : Region
{
public virtual IList<Destination> Destinations { get; set; }
//...
}
我的EF上下文类型:
public class JobAndPopulationContext : DbContext
{
public DbSet<Region> Regions { get; set; }
}
我想通过这样一个简单的列表来选择所有地区:
context.Regions.ToList();
我收到了这个奇怪的错误消息:
关系管理器是使用类型为“JobAndMigration.Classes.Origine”的所有者定义的,该类型与指定关系“JobAndMigration”中源角色“Origine_Destinations_Target”的类型“JobAndMigration.Classes.Destination”不兼容。 Repository.Origine_Destinations'。
该错误是什么意思?
我怎么能解决这个问题?
答案 0 :(得分:0)
查看不同的继承类型here
对于TPT,请考虑将您的上下文更改为以下内容;
public class JobAndPopulationContext : DbContext
{
public DbSet<Destination> Destinations { get; set; }
public DbSet<Origins> Origin { get; set; }
}