0

我正在将我的项目从Amazon AWS SqlServer迁移到Google云MySQL。谷歌云的ASP.NET连接字符串

我的工作亚马逊AWS字符串:

<add name="MyContext" connectionString="Server=sql-test.myid.us-west-2.rds.amazonaws.com,3306;Database=myDB;User ID=root;Password=123456;Min Pool Size=5;Max Pool Size=20;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;" providerName="System.Data.SqlClient" /> 

我试图创建一个谷歌云串那样:

<add name="MyContext" connectionString="Server=ip,3306;Database=myDB;User ID=root;Password=123456;Min Pool Size=5;Max Pool Size=20;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;" providerName="MySql.Data.MySqlClient" /> 

我的EntityFramework:

<entityFramework> 
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" /> 
    <providers> 
     <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers> 
    </entityFramework> 

我的上下文类:

using System; 
using System.Collections.Generic; 
using System.Data.Entity; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using MyProject.Models.Tables; 

namespace MyProject.Context 
{ 
    class MyContext : DbContext 
    { 
     public DbSet<Property> Properties { get; set; } 
     public DbSet<PropertyType> PropertyTypes { get; set; } 
     public DbSet<Country> Countries { get; set; } 
     public DbSet<State> States { get; set; } 
     public DbSet<City> Cities { get; set; } 
     public DbSet<Zip> Zips { get; set; } 

    } 
} 

但它不工作。有谁知道我做错了什么?

感谢

回答

1

模拟刀抵身份识别码:美国central1:我的实例是不是一个有效的服务器名称:冒号(:)是不允许的。您应该使用IPv4地址进行连接。您可以在您的实例概览中看到此地址https://console.cloud.google.com/sql/instances

另请参阅https://cloud.google.com/sql/docs/mysql/connect-compute-engine

欲知连接字符串的详细信息,请参阅https://www.connectionstrings.com/mysql/

你可能需要MySQL的连接器。见https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html

+0

谢谢......我也刚刚意识到我保存了providerName =“System.Data.SqlClient”什么是MySQL提供者? – user6824563

+0

@ user6824563您需要单独安装mySql连接器以在.net中使用MySql.Data.MySqlClient。请参阅https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html – realbart

+0

它仍然无法正常工作。我编辑帖子,添加我的上下文类和实体框架。 – user6824563