gpt4 book ai didi

entity-framework - Entity Framework 6 - 代码优先 : table schema from classes' namespace

转载 作者:行者123 更新时间:2023-12-03 12:00:16 24 4
gpt4 key购买 nike

有谁知道是否可以根据类的命名空间设置代码优先类的表模式?

例如,命名空间 Core.Foo 中的每个类将具有 Foo 的架构.

最佳答案

好吧,您可以使用以下两个选项之一指定架构名称:

  • 使用 Data Annotations :
    [Table("TableName","Foo")]
    public class Entity
    {
    }
  • 使用 Fluent Api :
    modelBuilder.Entity<Entity>().ToTable("TableName", "Foo");

  • 更新

    在这个主题上挖掘更多,我想你要找的是 Custom Convention英孚:
    public class CustomSchemaConvention : Convention
    {
    public CustomSchemaConvention()
    {
    Types().Configure(c => c.ToTable(c.ClrType.Name, c.ClrType.Namespace.Substring(c.ClrType.Namespace.LastIndexOf('.') + 1)));
    }
    }

    然后,在您的上下文中,您需要覆盖 OnModelCreating添加新约定的方法:
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    modelBuilder.Conventions.Add(new CustomSchemaConvention());
    }

    关于entity-framework - Entity Framework 6 - 代码优先 : table schema from classes' namespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129476/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com