EDMX在哪里
Where is the EDMX
开始接触 dotnet Core。在尝试在 dotnet 核心应用程序中设置 EntityFramework.Core 的示例测试应用程序中。虽然我能够添加 EntityFramework.Core NugGet 包,但我找不到 'Add'->'New Item'->'Data'->'ADO.NET Entity Data Model'
这对 EntityFramework.Core 来说是不可能的吗?
EntityFramework.Core 与 EntityFramework 7 有何不同?
Entity Framework 核心不支持 edmx。它只支持代码优先的方法。将添加添加新实体数据模型的选项,但它会生成实体 class 文件而不是 edmx 文件。目前工具开发有点落后于框架开发。
您可以利用 dot net core 中的 edmx,但仅作为参考,以便创建您需要的 类。
为此,您必须向您的解决方案添加一个针对 dot net 框架 3.5 或更高版本的项目,以便 edmx 工作,从另一个较旧的项目添加一个现有的 edmx 文件,因为 visual studio 2019 确实如此没有可用的模板,现在您可以清理它并从 sql 服务器添加实体。
在其他dot net core项目中,你必须添加t4模板文件.tt这些文件将通过文件系统路径读取edmx文件。您必须编辑 .tt 文件才能使用 dot net core。
再次声明,您不需要引用 dot net 框架项目,它只存在于 edmx 可以工作的地方。
.Net 核心仍然没有 EDMX 支持。要从数据库生成 dbcontext 和实体,运行 在程序包管理器控制台中执行以下命令:
Scaffold-DbContext "Server=yourserver;Database=yourdatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
详见https://docs.microsoft.com/en-us/ef/efcore-and-ef6/porting/port-edmx
您将需要这些包:
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer.Design
https://ef.readthedocs.io/en/staging/platforms/aspnetcore/existing-db.html#install-entity-framework
作为 EDMX 的替代品,有一个 open-source 扩展可用于进行可视化建模并生成 code-first EF 上下文和 classes。它可以使用包含 DbContext 的已编译程序集以及现有实体 class C# 代码来促进模型的引导。可在:
https://marketplace.visualstudio.com/items?itemName=michaelsawczyn.EFDesigner
https://github.com/msawczyn/EFDesigner
完全披露:我是原作者和维护者。
开始接触 dotnet Core。在尝试在 dotnet 核心应用程序中设置 EntityFramework.Core 的示例测试应用程序中。虽然我能够添加 EntityFramework.Core NugGet 包,但我找不到 'Add'->'New Item'->'Data'->'ADO.NET Entity Data Model'
这对 EntityFramework.Core 来说是不可能的吗?
EntityFramework.Core 与 EntityFramework 7 有何不同?
Entity Framework 核心不支持 edmx。它只支持代码优先的方法。将添加添加新实体数据模型的选项,但它会生成实体 class 文件而不是 edmx 文件。目前工具开发有点落后于框架开发。
您可以利用 dot net core 中的 edmx,但仅作为参考,以便创建您需要的 类。
为此,您必须向您的解决方案添加一个针对 dot net 框架 3.5 或更高版本的项目,以便 edmx 工作,从另一个较旧的项目添加一个现有的 edmx 文件,因为 visual studio 2019 确实如此没有可用的模板,现在您可以清理它并从 sql 服务器添加实体。
在其他dot net core项目中,你必须添加t4模板文件.tt这些文件将通过文件系统路径读取edmx文件。您必须编辑 .tt 文件才能使用 dot net core。
再次声明,您不需要引用 dot net 框架项目,它只存在于 edmx 可以工作的地方。
.Net 核心仍然没有 EDMX 支持。要从数据库生成 dbcontext 和实体,运行 在程序包管理器控制台中执行以下命令:
Scaffold-DbContext "Server=yourserver;Database=yourdatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
详见https://docs.microsoft.com/en-us/ef/efcore-and-ef6/porting/port-edmx
您将需要这些包:
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer.Design
https://ef.readthedocs.io/en/staging/platforms/aspnetcore/existing-db.html#install-entity-framework
作为 EDMX 的替代品,有一个 open-source 扩展可用于进行可视化建模并生成 code-first EF 上下文和 classes。它可以使用包含 DbContext 的已编译程序集以及现有实体 class C# 代码来促进模型的引导。可在:
https://marketplace.visualstudio.com/items?itemName=michaelsawczyn.EFDesigner https://github.com/msawczyn/EFDesigner
完全披露:我是原作者和维护者。