entity frameworkCTP4和复合键

我正在玩EntityFramework CTP4并决定将它应用于我当前的一个项目。 该应用程序使用SQLServer数据库,并且有一个表具有复合键。 比如,表“MyEntity”将“Key1”和“Key2”作为外键(单独)和复合主键。

我创建了一个从EntityConfiguration派生的配置类:

class MyEntityConfiguration : EntityConfiguration { public MyEntityConfiguration() { HasKey(m => m.Key1); HasKey(m => m.Key2); } } 

然后在我的DataContext(从DbContext派生):

  public DbSet 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个记录)。

我怀疑问题出在复合键上,因为没有其他实体显示此问题。

任何帮助将不胜感激,谢谢:)

我没有用我当前的数据库和CTP4测试它,但是在CTP3中你要创建一个这样的复合键:

 HasKey(m => new { m.Key1, m.Key2 });