Abh*_*ngh 9 entity-framework entity-framework-core
我正在开发一个需要创建 DB 视图的新应用程序。我正在使用具有 MySql 风格的 EF 核心并使用代码优先方法来创建数据库和表。我没有找到创建视图的方法。如果不知何故,我可以在迁移步骤中执行原始 sql,这可能有助于创建视图,然后将其映射为 DbSet。我无法手动创建视图,因为它需要针对数据库执行视图脚本,而这在更高的环境中是不可能的。有人可以指导我。非常感谢帮助!
rel*_*dom 15
据我所知,您不能直接使用 EF Core 创建视图。但是,您可以在升级时使用迁移来执行任意 SQL。
add-migration CreatingTheView
Migrations\yyyyMMdd_CreatingTheView.cs
Up
方法添加升级时要执行的原始SQL :migrationBuilder.Sql("CREATE VIEW etc.");
Down
方法:migrationBuilder.Sql("DROP VIEW etc.");
小智 6
relative_random 的答案几乎对我有用,但我必须使用以下语法才能使其工作:
migrationBuilder.Sql(@"exec('create view dbo.MyViewName as ....');");
Run Code Online (Sandbox Code Playgroud)
和
migrationBuilder.Sql("exec('drop view dbo.MyViewName');");
Run Code Online (Sandbox Code Playgroud)
如果没有这个,我会收到一个 sql 错误“创建视图必须是批处理中的唯一语句”。
归档时间: |
|
查看次数: |
9215 次 |
最近记录: |