【问题标题】:Putting scaffolded EF entities in different directory than context将脚手架 EF 实体放在与上下文不同的目录中
【发布时间】:2020-03-20 18:45:44
【问题描述】:

问题:有没有办法让dotnet ef dbcontext scaffold 不仅将上下文文件放在不同的目录中,而且在该文件中包含实体命名空间?

我正在使用dotnet ef dbcontext scaffold 从数据库中生成 EF 上下文和相关实体。数据库设计是单独处理的,因此需要定期重新生成实体和上下文。

我正在使用这个,效果很好:

dotnet ef dbcontext scaffold `
    "Server=localhost;Database=My.Db;Trusted_Connection=True;" `
    Microsoft.EntityFrameworkCore.SqlServer `
    --startup-project My.EfCliStartupProject\My.EfCliStartupProject.csproj `
    --force `
    --project My.Orm\My.Orm.csproj `
    --context MyContext `
    --schema MY_SCHEMA `
    --output-dir Entities

我希望能够通过添加--context-dir . 将脚手架上下文提升一级。不幸的是,上下文文件顶部没有引用实体命名空间的 using 语句。

此命令在一个快速 PowerShell 脚本中执行此操作,该脚本还会清除实体目录,因此向该脚本添加一些代码以附加 using 语句并非不可能,但这并不理想。

我正在使用 EF CLI 3.0.0。尝试安装更高版本时出现错误:error NU1202: Package dotnet-ef 3.1.2 is not compatible with netcoreapp3.0

Scaffold-DbContextan older question 有多种答案,但尚不清楚 using 语句是否预计会丢失。

谢谢!

【问题讨论】:

    标签: ef-core-3.0


    【解决方案1】:

    此功能已包含在该工具的 3.1 版本中,我想这就是您在 3.0.0 上遇到此问题的原因。

    https://github.com/dotnet/efcore/pull/18405

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-06
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多