实体框架核心表拆分方法

时间:2016-12-23 12:22:04

标签: c# entity-framework entity-framework-core

在Entity Framework 6中,您可以使用功能MAP:

拆分要保存在多个表中的实体
modelBuilder.Entity<Employee>()  
  .Map(map =>  
  {  
  map.Properties(p => new  
  {  
     p.EmployeeId,  
     p.Name,  
     p.Code  
  });  
  map.ToTable("Employee");  
  })  
  // Map to the Users table  
  .Map(map =>  
  {  
  map.Properties(p => new  
  {  
     p.PhoneNumber,  
     p.EmailAddress  
  });  
  map.ToTable("EmployeeDetails");  
  });  

我想知道是否有人知道这是否可以在实体框架核心上进行,我已经搜索了很长时间并且没有找到类似的东西。

目前,我正在使用带有合成的Dtos来解决这个问题,但随着解决方案的不断发展,使用起来很烦人。

任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

尚未实施,如此公开票证中所示:https://github.com/aspnet/EntityFramework/issues/619

答案 1 :(得分:0)

如果您需要在不同的表之间拆分实体,可以使用一种方法,而不是当前在EF_core上实现的方法。

另一个选项是在数据库端创建一个View,并配置实体从那里接收数据。 ( 显然,这种方法的缺点是您必须包含自定义逻辑才能添加,更新或删除此模型中的元素。