无法使用 Blazor 和 Entity Framework 连接到 SQL 数据库
Cannot connect to SQL database using Blazor and Entity Framework
我正在尝试设置一个连接到 SQL 服务器数据库的简单 Blazor 网站,但我似乎无法让它工作,出现错误:
System.PlatformNotSupportedException: Strings.PlatformNotSupported_DataSqlClient
尝试查询任何数据库实体时。连接到相同的数据库并使用相同的 DBContext
在单元测试项目中工作正常,我只是无法使用 Blazor 使其工作。
在我的 program.cs 我有:
builder.Services.AddDbContext<IntegrationDBContext>(options => options.UseSqlServer(@"MyConnString"));
我什至尝试使用内存提供程序,效果很好。我正在使用 .NET 6 并连接到基于 Azure 的 SQL(尽管我确实尝试连接到 LocalDB 实例,结果相同)。
谢谢!
MS-SQL 客户端软件使用基于 TCP 套接字的协议,该协议在 WebAssembly 上确实“不受支持”。
您需要一个基于 HTTP API 的数据库,但请注意您的凭据将是 public。基于 Web 的客户端不安全。
这就是为什么所有需要后端数据库的 SPA 应用程序都使用 API 服务器进行数据库访问的原因。查看 Blazor Wasm + 托管模板,看看它是否适合您。
我正在尝试设置一个连接到 SQL 服务器数据库的简单 Blazor 网站,但我似乎无法让它工作,出现错误:
System.PlatformNotSupportedException: Strings.PlatformNotSupported_DataSqlClient
尝试查询任何数据库实体时。连接到相同的数据库并使用相同的 DBContext
在单元测试项目中工作正常,我只是无法使用 Blazor 使其工作。
在我的 program.cs 我有:
builder.Services.AddDbContext<IntegrationDBContext>(options => options.UseSqlServer(@"MyConnString"));
我什至尝试使用内存提供程序,效果很好。我正在使用 .NET 6 并连接到基于 Azure 的 SQL(尽管我确实尝试连接到 LocalDB 实例,结果相同)。
谢谢!
MS-SQL 客户端软件使用基于 TCP 套接字的协议,该协议在 WebAssembly 上确实“不受支持”。
您需要一个基于 HTTP API 的数据库,但请注意您的凭据将是 public。基于 Web 的客户端不安全。
这就是为什么所有需要后端数据库的 SPA 应用程序都使用 API 服务器进行数据库访问的原因。查看 Blazor Wasm + 托管模板,看看它是否适合您。