在 Blazor .Net Framework 中使用 ADO.NET 实体模型 (.edmx)

Use ADO.NET Entity Model (.edmx) in Blazor .Net Framework

我喜欢使用以前的 ADO.Net 实体模型,它存储在另一个项目中(在同一解决方案中)并像 DLL 一样导入到 Blazor 的 ASP.NET 框架(非核心)中。

不幸的是,当我尝试连接我的上下文时,我收到该错误:“在应用程序配置文件中找不到名为 'MyDBEntities' 的连接字符串。”

我尝试配置 appsettings.json:

  "ConnectionStrings": {
        "MyDBEntities": "xxxxxxxxxxxxxxxxxxxx"
  }

和startup.cs:

services.AddScoped<MyDBEntities>((_) => new MyDBEntities(Configuration.GetConnectionString("MyDBEntities")));

我做错了什么?

经过一些研究,在 .Net 6 中使用 Blazor 实现类似 ADO.NET 的系统的最佳解决方案是使用 EF Core Power Tools,这是一个有用的设计-时间 DbContext 功能用于连接您的数据库(在我的例子中是 SQL 服务器)并自动创建或更新您的表。

像ADO.NET一样安装、配置和使用都非常简单。

有关如何在 Visual Studio 解决方案中安装的更多信息,请参见 link: https://marketplace.visualstudio.com/items?itemName=ErikEJ.EFCorePowerTools