簡體   English   中英

將實體框架模型映射到多個表

[英]Mapping entity framework model to multiple tables

如何將實體框架模型映射到多個表? 如何對特定表執行插入操作(通過引用存儲表名的字符串)?

我還沒有實現這一點,但快速搜索提供了許多很好的例子,說明了一種稱為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");  
      });  
   }  
}

以上代碼的所有功勞都歸於鏈接帖子

在這種情況下,您可以使用IModelCacheKeyFactory ,它允許掛鈎模型緩存機制,以便 EF 能夠根據其屬性創建不同的模型。

這篇文章解釋了如何

你必須使用實體拆分

是一個例子。

我正在與您分享教程鏈接。 你可以徹底理解實體分裂的概念。 在本教程中,教師通過一個場景解釋實體拆分,其中他有兩個用戶信息表。 在一個表中他有用戶名等,而在另一個表中他有用戶的地址。 但在應用程序級別,用戶詳細信息和用戶地址之間沒有分離。 當用戶保存數據時,它會轉到兩個不同的表。

是教程鏈接。

你也可以免費下載torrent。

種子鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM