开发者

Entity Framework CTP4 and composite keys

开发者 https://www.devze.com 2023-01-08 18:40 出处:网络
I was playing with EntityFramework CTP4 and decided to apply it to one of my current projects. The application uses a SQLServer database and there is one table with a composite key. Say, table \"MyEnt

I was playing with EntityFramework CTP4 and decided to apply it to one of my current projects. The application uses a SQLServer database and there is one table with a composite key. Say, table "MyEntity" has "Key1" and "Key2" as both foreign keys (individually) and as a composite primary key.

I made a configuration class derived from EntityConfiguration :

class MyEntityConfiguration : EntityConfiguration<MyEntity>
{
    public MyEntityConfigurat开发者_如何学JAVAion()
    {
        HasKey(m => m.Key1);
        HasKey(m => m.Key2);
    }
}

Then in my DataContext (derived from DbContext) :

    public DbSet<MyEntity> MyEntities { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new MyEntityConfiguration());
    }

The problem is that when I query "MyEntities" for all its records :

var entities = from e in MyModel.Instance.MyEntities
               select e;

I get a really weird result consisting of the first record repeated 18 times, then the second repeated 18 times (for the record, my table has 36 records).

I suspect the problem is with the composite key as no other entity is showing this problem.

Any help would be appreciated, thanks :)


I haven't tested it with my current database & CTP4 but in CTP3 you'd create a composite key like this:

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号