gpt4 book ai didi

c# - 带有 Entity Framework 7 (rc1) 的全局表前缀

转载 作者:行者123 更新时间:2023-11-30 14:08:41 25 4
gpt4 key购买 nike

我们将 ASP.NET 5 的 RC1 版本与新的 Entity Framework 7 一起使用,我希望数据库中的表名称以模型所在的命名空间名称为前缀。

我知道如何在以前版本的 Entity Framework 中执行此操作(感谢 this SO question),但我不知道如何在新版本中执行此操作。我浏览了文档,用谷歌搜索并查看了源代码,但无济于事。

我在 EF6 中做了什么:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Types().Configure(entity => entity.ToTable($"{entity.ClrType.Namespace?.Replace('.', '-')}_{entity.ClrType.Name}s"));

base.OnModelCreating(modelBuilder);
}

如何使用 EF7 执行相同的操作?这可能是目前还没有的东西之一吗?

最佳答案

OnModelCreating 的末尾直接操作模型:

foreach (var entity in modelBuilder.Model.GetEntityTypes())
{
entity.Relational().TableName =
$"{entity.ClrType.Namespace?.Replace('.', '-')}_{entity.ClrType.Name}s";
}

关于c# - 带有 Entity Framework 7 (rc1) 的全局表前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179546/

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