我正在使用 EntityFramework CTP4 并决定将其应用于我当前的项目之一。该应用程序使用 SQLServer 数据库,并且有一个带有复合键的表。比如说,表“MyEntity”具有“Key1”和“Key2”作为外键(单独)和复合主键。
我做了一个从 EntityConfiguration 派生的配置类:
class MyEntityConfiguration : EntityConfiguration<MyEntity>
{
public MyEntityConfiguration()
{
HasKey(m => m.Key1);
HasKey(m => m.Key2);
}
}
然后在我的 DataContext(派生自 DbContext)中:
public DbSet<MyEntity> MyEntities { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new MyEntityConfiguration());
}
问题是,当我查询“MyEntities”的所有记录时:
var entities = from e in MyModel.Instance.MyEntities
select e;
我得到了一个非常奇怪的结果,其中第一条记录重复了 18 次,然后第二条记录重复了 18 次(对于记录,我的表有 36 条记录)。
我怀疑问题出在复合键上,因为没有其他实体显示此问题。
任何帮助将不胜感激,谢谢:)