C# 搭建数据库上下文并自动删除冗余使用

C# 搭建数据库上下文并自动删除冗余使用,c#,asp.net-core-3.1,ef-database-first,ef-core-3.1,C#,Asp.net Core 3.1,Ef Database First,Ef Core 3.1,在我们的项目中,我们使用EF Core Db first方法。 在我运行脚手架命令之后: Scaffold DbContext“Server=localhost;Database=DbName;Trusted_Connection=True;”Microsoft.EntityFrameworkCore.SqlServer-OutputDir Entities-Force-DataAnnotations-UseDatabaseNames-Schema dbo,bank 在基于现有数据库模式生成db

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

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

在基于现有数据库模式生成dbContext和实体模型的ASP.NET核心应用程序中,我注意到一些实体类使用得到了额外的冗余/未使用的
。这是一个示例,其中
使用系统并使用
System.Collections.Generic是冗余的:

是否有任何选项不使用
s生成这些冗余的
?我在ef核心中看不到任何相关内容。。。

干杯

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

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


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

但是为什么您关心那些冗余的using语句呢?我们通常在代码库中使用对流来清理所有未使用的
,只是为了保持代码更干净。除此之外,@Chris Pickford在他的回答中写道,它可能会对编译时间产生影响。编译时间可以忽略不计,即使它确实增加了时间,也将是微秒。至于约定,我同意不应该有,但对于自动生成的代码不应该有。如果你花时间把它们从那里移走,如果你重新上架的话,它们可能会被加回去。@DavidG当然我同意你的看法。我认为可能有一些选项可以传递到scaffolding命令中,但我认为现在我还是保持原样,只是不关心添加的额外用法。这并不是什么大问题。只是优雅而已,不过没什么大不了的:D干杯,我觉得你的回答对我来说已经足够了,谢谢;)