我正在尝试设置一个简单的Blazor网站,该网站连接到SQL Server数据库,但我似乎无法使其工作,我遇到了一个错误:
System.PlatformNotSupportedException:字符串.PlatformNotSupported数据库客户端
当尝试查询任何数据库实体时。连接到相同的数据库并使用相同的DBContext
在单元测试项目中运行良好,我只是无法使用Blazor使其工作。
在我的程序.cs中,我有:
builder.Services.AddDbContext<IntegrationDBContext>(options => options.UseSqlServer(@"MyConnString"));
我甚至尝试使用内存中的提供程序,效果很好。我正在使用.NET 6并连接到基于Azure的SQL(尽管我确实尝试连接到LocalDB实例,但结果相同(。
谢谢!
MS-SQL客户端软件使用基于TCP套接字的协议;不支持";在WebAssembly上。
您需要一个具有基于HTTP的API的Db,但请注意您的凭据将是公共的。基于Web的客户端不安全。
这就是为什么所有需要后台数据库的SPA应用程序都使用API服务器进行Db访问。看看Blazor Wasm+Hosted模板,看看它是否适合你。