实体框架(db-first方法):如何在单独的层中生成实体和映射?



我想在单独的层中生成实体和映射。

我尝试在包管理器控制台中使用以下命令来生成实体:

scaffold-DbContext "Data Source=.;Initial Catalog=MyDb;Persist Security Info=True;User ID=my;Password=123" Microsoft.EntityFrameworkCore.SqlServer
-OutputDir DataAccessEntities -f -Verbose -t My_tbl1, My_Payment, tbl1 

在实体框架和数据库优先方法中,所有实体、映射和上下文都在一个层中生成。但这会导致缺乏关注分离的问题。

如果您希望单独管理实体定义和映射,则可能也不希望自动更新它们。 因此,您可以使用 scaffold-DbContext 生成它们一次,然后手动拆分它们并使用您希望反映在项目中的任何数据库更改手动更新它们。 或者在另一个项目中重新运行基架 DbContext 并进行剪切和粘贴。

如果要自定义基架过程,EF Core 实际上没有任何内置功能,但有一些加载项会有所帮助。 带车把的实体框架核心脚手架。 还有一些钩子,你可以用它来自己自定义类型生成。实体框架核心自定义基架

最新更新