如何解决将 .Net 4.8 EF6 SQL Server webapi 项目转换为 AWS RDS Aurora MySQL
我使用 sql Server 进行本地开发,并试图让它在 AWS 中运行。
我安装了“AWS Toolkit for VS2019”并发布到 AWS Elastic Beanstalk。
我修改了代码以获取连接属性,如 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_NET.rds.html
中所述我还创建了数据库并填充了数据。
我加载了 Pomelo.EntityFrameworkCore.MysqL NuGet 包。
当我调用测试“Hello World”api 函数时,它返回 Hello World。
连接字符串中不需要关键字数据源。
操作无法完成,因为 DbContext 已被 处置。
我不确定 provider 和 providerName 部分应该是什么,或者应该如何使用 AppSettings 来设置它以确定连接字符串。
public static class RDS_Helper
{
public static string GetRDSConnectionString()
{
var appConfig = ConfigurationManager.AppSettings;
string dbname = appConfig["RDS_DB_NAME"];
if (string.IsNullOrEmpty(dbname)) return null;
string username = appConfig["RDS_USERNAME"];
string password = appConfig["RDS_PASSWORD"];
string hostname = appConfig["RDS_HOSTNAME"];
string port = appConfig["RDS_PORT"];
//return $"data source={hostname}:{port};initial catalog={dbname};persist security info=True;user id={username};password={password};MultipleActiveResultSets=True;App=EntityFramework;";
return $"Metadata=res://*/MyContext.csdl|res://*/MyContext.ssdl|res://*/MyContext.msl;provider=System.Data.sqlClient;provider connection string="data source={hostname}:{port};initial catalog={dbname};persist security info=True;user id={username};password={password};MultipleActiveResultSets=True;App=EntityFramework"";
}
}
这里是我创建上下文的地方:
public static class Conn
{
private static MyData.MyContext _db;
public static MyData.MyContext db
{
get
{
if (_db == null) _db = new MyContext(RDS_Helper.GetRDSConnectionString());
// providerName="System.Data.EntityClient"
return _db;
}
}
}
任何人都可以指导我使用 AWS RDS 数据源使用实体框架创建 .Net 项目的示例项目或说明吗?或者也许是下一步尝试的方向?和/或 Provider 和 ProviderName 应该使用什么值?
预先感谢您的帮助。
解决方法
<sarcasm>
I'm amazed at how many people stepped up to the plate to try to help me with this problem.
</sarcasm>
以下是将 SQL Server 实体框架项目转换为 MySQL 的方法 -- 不要。
而是按照以下步骤操作:
- 为 Visual Studio 安装 MySQL
- 创建一个新的 .Net 类库项目
- 安装“MySql.Data.EntityFramework”的 NuGet 包
- 使用“MySql 数据库”作为数据源为该项目创建一个新的“ADO.NET 实体数据模型”(当您创建与数据库的连接时,它会出现
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。