我想在单独的层中生成实体和映射。
我尝试在包管理器控制台中使用以下命令来生成实体:
scaffold-DbContext "Data Source=.;Initial Catalog=MyDb;Persist Security Info=True;User ID=my;Password=123" Microsoft.EntityFrameworkCore.SqlServer
-OutputDir DataAccess\Entities -f -Verbose -t My_tbl1, My_Payment, tbl1
在实体框架和数据库优先方法中,所有实体,映射和上下文都在一个层中生成。但这会导致缺乏关注点分离的问题。
答案 0 :(得分:1)
如果您希望分别管理实体定义和映射,那么您也可能不希望它们自动更新。因此,您可以只使用scaffold-DbContext生成它们一次,然后手动拆分它们,并使用您要反映在项目中的任何数据库更改手动更新它们。或在另一个项目中重新运行scaffold-DbContext并剪切并粘贴。
如果您想自定义脚手架过程,EF Core确实没有内置任何东西,但是有一些附加组件会有所帮助。 Entity Framework Core Scaffolding with Handlebars。还有一些钩子,您可以用来自定义类型生成。 Entity Framework Core Customize Scaffolding