EDMX在哪里?

bar*_*ker 11 .net entity-framework-core .net-core

暴露于dotnet Core.在尝试在dotnet核心应用程序中设置EntityFramework.Core的示例测试应用程序中.虽然我能够添加EntityFramework.Core NugGet包,但我找不到'添加' - >'新项' - >'数据' - >'ADO.NET实体数据模型'

EntityFramework.Core是不可能的?

EntityFramework.Core与EntityFramework 7有何不同?

Mik*_*ind 14

Entity Framework Core中没有edmx支持.它只支持代码优先方法.将添加添加新实体数据模型的选项,但它将生成实体类文件而不是edmx文件.工具开发有点落后于目前的框架开发.

  • @Esen我必须完全同意.如果没有对数据库第一个工具的完全支持,对于那些依赖这种工具的人来说就没有意义了.(这个限制是让我远离Core的主要原因.) (3认同)
  • 您应该花一点时间阅读官方文档:https://ef.readthedocs.io/en/latest/ (2认同)
  • @Greg 是的,但您将被迫在初始设置后使用代码优先迁移。对于那些无法修改数据库并在 edmx 文件中保持关系的人来说,不幸的是,目前还不可能移动到核心。 (2认同)
  • 是的。这一点非常重要。如果没有 edmx 自动生成,框架之美仍然会被错过。否则你就无法专注于开发。 (2认同)

suo*_*dev 14

.Net 核心仍然没有 EDMX 支持。要从数据库生成 dbcontext 和实体,请在包管理器控制台中运行以下命令:

Scaffold-DbContext "Server=yourserver;Database=yourdatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Run Code Online (Sandbox Code Playgroud)

请参阅https://docs.microsoft.com/en-us/ef/efcore-and-ef6/porting/port-edmx 中的详细信息

您将需要这些软件包:

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer.Design
Run Code Online (Sandbox Code Playgroud)

https://ef.readthedocs.io/en/staging/platforms/aspnetcore/existing-db.html#install-entity-framework