c# - Visual Studio:将本地主机上运行的 MySQL 数据库连接到 ASP.NET 项目
问题描述
我目前正在尝试自学 ASP.NET,因为我很快就会在工作中需要它。出于测试目的,我想创建一个包含 1 个或 2 个 RazorPages 的简单项目,它从我的本地主机上的 MySQL 数据库中获取数据。我正在使用 Visual Studio Community 版本。我首先创建了一个新的 ASP.NET Core Web 应用程序项目,然后添加了一个“新连接”(见截图)
我还安装了包“MySqlData”、“MySqlData.EntityFrameworkCore”和“MySQLConnector”。在 appsettings.json 中,我添加了
"ConnectionStrings": {
"RazorPagesPlayersContext": "server=localhost;user=root;password=password;database=players;"
}
在 Startup.cs 中,我配置了
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddDbContext<RazorPagesPlayersContext>(options => options.UseSqlite(Configuration.GetConnectionString("RazorPagesPlayersContext")));
}
但是,当我转到创建页面并将新的“玩家”发布到数据库中时,我收到了错误
ArgumentException: Connection string keyword 'server' is not supported
我的上下文文件看起来像这样
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using RazorPagesPlayers.Models;
namespace RazorPagesPlayers.Data
{
public class RazorPagesPlayersContext : DbContext
{
public RazorPagesPlayersContext (DbContextOptions<RazorPagesPlayersContext> options)
: base(options)
{
}
public DbSet<RazorPagesPlayers.Models.Player> Player { get; set; }
}
}
当我检查“连接的服务”时,我只能看到这个
可以看到,这个服务的连接字符串和我在appsettings.json中添加的连接字符串没有任何关系。当我尝试更改它时,它只会切换回来。所以我猜测与 MySQL 的连接失败或者我在这里混淆了事情?我什至不确定我是否在寻找正确的方向,但每一个提示都会受到欢迎。非常感谢您提前
编辑:当我将 Startup.cs 中的服务配置更改为
services.AddDbContext<RazorPagesPlayersContext>(options => options.UseMySql(Configuration.GetConnectionString("RazorPagesPlayersContext")));
它告诉我“DbContextOptionsBuilder”不包含“UseMySql”的定义,并建议将其更改为 UseMySQL。然而,这会导致错误:
TypeLoadException: Method 'Create' in type 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatingExpressionVisitorFactory' from assembly 'MySql.Data.EntityFrameworkCore, Version=8.0.22.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' does not have an implementation.
安装 Pomelo 有什么意义吗?
解决方案
推荐阅读
- python - 检索多个位置的经度和纬度
- react-hooks - 为什么 React Flow 拒绝这种方法?
- r - Get activation functions (and hyperparamters) of trained model keras/tensorflow in R Studio
- java - Java:将一个列表添加到另一个列表而不复制引用
- python - 在python中,使用函数的参数重命名变量
- django - django 2.1 HTML表单提交到数据库错误
- python - TypeError:只能将元组(不是“浮动”)连接到元组 cousera deeplearnig.ai
- c - 我已从 txt 文件中读取数据并存储在结构数组中,并希望按名称字段对数据进行排序
- c# - 将条件映射为真或忽略应用
- java - 如何在空手道 dsl 中使用肥皂响应 (xml) 验证 xml 架构 (XSD)