zoukankan      html  css  js  c++  java
  • EntityFramework 实体拆分与表拆分

    摘录自https://msdn.microsoft.com/zh-cn/data/jj591617

    * 将实体类型的 CLR 属性映射到数据库中的多个表(实体拆分)

    实体拆分允许一个实体类型的属性分散在多个表中。在以下示例中,Department 实体拆分到两个表中:Department 和 DepartmentDetails。实体拆分通过多次调用 Map 方法将一部分属性映射到特定表。

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    modelBuilder.Entity<Department>() .Map(m => { m.Properties(t => new { t.DepartmentID, t.Name }); m.ToTable("Department"); }) .Map(m => { m.Properties(t => new { t.DepartmentID, t.Administrator, t.StartDate, t.Budget }); m.ToTable("DepartmentDetails"); });
    }

    * 将多个实体类型映射到数据库中的一个表(表拆分)
    以下示例将使用同一个主键的两个实体类型映射到同一个表。

    modelBuilder.Entity<OfficeAssignment>() 
        .HasKey(t => t.InstructorID); 
                 
    modelBuilder.Entity<Instructor>() 
        .HasRequired(t => t.OfficeAssignment) 
        .WithRequiredPrincipal(t => t.Instructor); 
     
    modelBuilder.Entity<Instructor>().ToTable("Instructor"); 
     
    modelBuilder.Entity<OfficeAssignment>().ToTable("Instructor");
  • 相关阅读:
    Python异常处理
    奇异值分解(SVD)详解及其应用
    上楼梯问题
    Python面向对象(特殊成员)
    Best Time to Buy and Sell Stock II
    String to Integer (atoi)
    Gas Station
    N-Queens II
    Letter Combinations of a Phone Number
    N-Queens
  • 原文地址:https://www.cnblogs.com/gmcn/p/5879449.html
Copyright © 2011-2022 走看看