Dru*_*ard 4 c# composite-key entity-framework-4
我正在玩EntityFramework CTP4并决定将它应用于我当前的一个项目.该应用程序使用SQLServer数据库,并且有一个表具有复合键.比如,表"MyEntity"将"Key1"和"Key2"作为外键(单独)和复合主键.
我创建了一个从EntityConfiguration派生的配置类:
class MyEntityConfiguration : EntityConfiguration<MyEntity>
{
public MyEntityConfiguration()
{
HasKey(m => m.Key1);
HasKey(m => m.Key2);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的DataContext(从DbContext派生):
public DbSet<MyEntity> MyEntities { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new MyEntityConfiguration());
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我查询"MyEntities"的所有记录时:
var entities = from e in MyModel.Instance.MyEntities
select e;
Run Code Online (Sandbox Code Playgroud)
我得到一个非常奇怪的结果,包括重复18次的第一个记录,然后第二个重复18次(记录,我的表有36个记录).
我怀疑问题在于复合键,因为没有其他实体显示此问题.
任何帮助将不胜感激,谢谢:)
我没有用我当前的数据库和CTP4测试它,但在CTP3中你要创建一个这样的复合键:
HasKey(m => new { m.Key1, m.Key2 });
Run Code Online (Sandbox Code Playgroud)