运行 `dotnet ef dbcontext scaffold` 时省略一列

Posted

技术标签:

【中文标题】运行 `dotnet ef dbcontext scaffold` 时省略一列【英文标题】:Omit a column when running `dotnet ef dbcontext scaffold` 【发布时间】:2021-12-26 21:31:24 【问题描述】:

我遇到的情况是,大量非常相似但不相同的旧数据库正在使用dotnet ef dbcontext scaffold 反向工程为 C# 模型。由于数据库的多样性,没有单一的确定来源。最接近的一个在几个表中有一列不应该在 C# 模型中。

我查看了https://github.com/dotnet/efcore,但无法立即看到代码中允许这种细粒度的选项或路径。

有没有办法将元数据添加到数据库中以跳过列?

【问题讨论】:

我只知道过滤表格;这并不意味着不可能,但使用 cli 进行逆向工程存在限制。如果只是几个表中的一列,难道不能在实体类生成后手动省略吗? EF Core Power Tools 可以为您做到这一点 【参考方案1】:

目前无法执行此操作,因为脚手架选项中没有此选项 查看DatabaseModelFactoryOptions.cs 和EntityFrameworkCore.psm1 了解更多信息

【讨论】:

可以通过将元数据添加到数据库中来实现吗?

以上是关于运行 `dotnet ef dbcontext scaffold` 时省略一列的主要内容,如果未能解决你的问题,请参考以下文章

由于 dotnet ef dbcontext --json 失败,无法在 Visual Studio 2019 中列出实体框架迁移

dotnet ef 迁移 name dotnet ef 数据库更新

无法在运行时设置 DbContext 连接字符串并将项目与应用程序分开的情况下运行 EF 迁移

dotnet 核心中的 Dbcontext 对象瞬态

EF Core Scaffold DbContext

模拟 EF 核心 dbcontext 和 dbset