2016-07-15 146 views

回答

0

我还没有实现这个,但一个快速搜索提供了一个被称为Entity Splitting的实践的很多很好的例子。下面列出的是有用的:

http://www.c-sharpcorner.com/UploadFile/ff2f08/entity-splitting-in-entity-framework-6-code-first-approach/

public partial class Employee 
{ 
    // These fields come from the “Employee” table 
    public int EmployeeId { get; set; } 
    public string Code { get; set; } 
    public string Name { get; set; } 

    // These fields come from the “EmployeeDetails” table 
    public string PhoneNumber { get; set; } 
    public string EmailAddress { get; set; } 
} 

public partial class Model : DbContext 
{ 
    public Model() : base("name=EntityModel") 
    { 
     Database.Log = Console.WriteLine; 
    } 
    public virtual DbSet<Employee> Employees { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     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"); 
     }); 
    } 
} 

上面的代码一切归功于链接后

+0

这里我们将一个实体映射到两个不同的表。但是我需要动态地创建表格映射。例如,数据库包含来自不同州的学校详细信息。来自每个州的细节应该转到特定的状态表。这里的实体属性是相同的,但每次我们可能必须映射不同的表。 – Sasi

0

必须使用实体分裂

here是一个例子它。

+0

我在链接中找到了Entity spiting的概念。但在我的情况下,我必须将一个实体映射到两个不同的表(需要动态地创建表映射)。例如,数据库包含来自不同州的学校详细信息。来自每个州的细节应该转到特定的状态表。这里的实体属性是相同的,但每次我们可能必须映射不同的表。 – Sasi

0

我与您分享教程链接。 你可以彻底理解实体分裂的概念。 在本教程中,导师通过其中有两个用户信息表的场景解释实体拆分。在一张表中他有用户名等,而在另一张表中他有用户地址。但在应用程序级别,用户详细信息和用户地址之间没有分离。当用户保存数据时,它会转到两个不同的表格。

here是教程链接。

您还可以免费下载它。

torrent link