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 });