Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

One Entity 2 Tables in EF Core 2.0

With EF Core 2.0 is possible to map one entity in 2 tables?

Something similar to this in EF6 (the 2 configurations are equal, they are just samples).

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.ApplyConfiguration(delegate(EntityMappingConfiguration<Student> studentConfig)
        {
            studentConfig.Properties(p => new { p.Id, p.StudentName });
            studentConfig.ToTable("StudentInfo");
        });

        Action<EntityMappingConfiguration<Student>> studentMapping = m =>
        {
            m.Properties(p => new { p.Id, p.Height, p.Weight, p.Photo, p.DateOfBirth });
            m.ToTable("StudentInfoDetail");
        };
        modelBuilder.Entity<Student>().Map(studentMapping);

    }
like image 719
bubi Avatar asked Aug 20 '17 09:08

bubi


1 Answers

EF Core 2.0 adds Table Splitting and Owned Types (EF6 Complex Types replacement), but what you are asking for - Entity Splitting, is still not supported.

There is an open feature request Relational: Entity splitting support #620 in their GitHib repository, but I don't see any concrete plan/schedule if and when it would eventually be implemented. Most likely when they add TPH inheritance support, but that's just my speculation.

like image 169
Ivan Stoev Avatar answered Nov 16 '22 23:11

Ivan Stoev