ProviderName = Npgsql无法在Azure上运行

时间:2017-09-26 08:23:19

标签: c# postgresql entity-framework azure connection-string

我在本地机器上测试了我的webapi并且它正在工作但是在天蓝色它不起作用,因为azure还有更多我需要做的事情吗?

我试试这个:

public Context() : base("name=DefaultConnectionString")
{
    Database.SetInitializer<Context>(null);
}

我的connectionString是:

<add name="DefaultConnectionString" connectionString="host=HOST;SSL Mode=Require;Trust Server Certificate=true;User ID=USER;Password=PASSWORD;Port=5432;Database=DB;" providerName="Npgsql" />

我尝试按以下代码设置提供者名称:

var providerName = "Npgsql";
var conn = DbProviderFactories.GetFactory(providerName).CreateConnection();
            conn.ConnectionString = $"Host={host}; " + $"Port={port}; " +
                $"User Id={userName};" + $"Password={password};" + $"Database={databaseName}; SSL Mode=Require;Trust Server Certificate=true;";

            return conn;

我的提供者:

 <entityFramework>
    <providers>
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
    </providers>
    <defaultConnectionFactory type="Npgsql.NpgsqlConnectionFactory, Npgsql" />
  </entityFramework>

1 个答案:

答案 0 :(得分:0)

我发现了问题,我的ip on azure无法正常工作,所以更改我的start:0.0.0.0end:255.255.255.255的IP,它正在运行......现在我正在寻找更好的解决方案< / p>