【问题标题】:Scaffolding Db Context and automatically remove the redundant usings脚手架 Db Context 并自动删除多余的 usings
【发布时间】:2021-05-19 18:20:09
【问题描述】:

在我们的项目中,我们使用 EF Core Db first 方法。 在我运行脚手架命令后:

Scaffold-DbContext "Server=localhost;Database=DbName;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -Force -DataAnnotations -UseDatabaseNames -Schema dbo,bank

在我们的 ASP.NET Core 应用程序中,基于现有数据库模式生成 dbContext 和实体模型,我注意到一些实体类变得多余/未使用usings。这是一个示例,其中 using System; 和使用 System.Collections.Generic; 是多余的:

有什么选项可以不生成这些多余的usings?我在 ef 核心 documentation 中看不到任何相关内容... 干杯

【问题讨论】:

  • 你为什么要关心那些多余的 using 语句呢?
  • 我们通常在代码库中使用对流来清理所有未使用的usings,以保持代码更干净。除此之外,正如@Chris Pickford 在他的回答中所写的那样,它可能会对编译时间产生影响。
  • 编译时间可以忽略不计,即使增加了时间,也将是微秒。至于约定,我同意不应该有,但不是自动生成的代码。如果你花时间从那里移除它们,如果你重新搭建脚手架,它们可能会被重新添加。
  • @DavidG 我当然同意你的看法。我认为可能有一些选项可以传递给脚手架命令,但我认为现在我保持原样,只是不关心添加的额外用途。这不是什么大问题。只是与优雅有关,但没什么大不了的:D 干杯

标签: c# asp.net-core-3.1 ef-database-first ef-core-3.1


【解决方案1】:

我不知道您可以传递给 EF 二进制文件的任何参数,这些参数将删除未使用的 usings,尽管鉴于这是易失性/生成的代码,不删除它们的影响可以忽略不计。

未使用的usings 可能会稍微增加编译时间,但不会对您的运行时产生影响。

不过,要尝试回答您的问题,您可以创建一个预构建脚本来清理这些生成文件 - 我相信 Power Commands Extension 提供了这样做的工具,但不确定这是否可以自动化。

【讨论】:

  • 我认为你的回答对我来说已经足够了,谢谢;)
猜你喜欢
  • 1970-01-01
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 2014-06-07
相关资源
最近更新 更多