Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net核心API无法连接PostgreSQL数据库_Postgresql_Asp.net Core - Fatal编程技术网

.net核心API无法连接PostgreSQL数据库

.net核心API无法连接PostgreSQL数据库,postgresql,asp.net-core,Postgresql,Asp.net Core,我想使用.netCore和PostgreSQL数据库创建一个非常简单的API,下面是我的应用程序设置 "ConnectionStrings": { "DefaultConnection": "Server=192.xxx.xx.xx;Port=5433;Database=ltw_central_db;User Id=UserNAme;Password = myPass; Timeout = 15;" } 但我得到一个错误,它表示初始化字符串的格式不符合从索引0开始的规范 我在谷歌上搜

我想使用.netCore和PostgreSQL数据库创建一个非常简单的API,下面是我的应用程序设置

 "ConnectionStrings": {
    "DefaultConnection": "Server=192.xxx.xx.xx;Port=5433;Database=ltw_central_db;User Id=UserNAme;Password = myPass; Timeout = 15;"
}
但我得到一个错误,它表示初始化字符串的格式不符合从索引0开始的规范 我在谷歌上搜索了这个错误,发现这个错误表明我的连接字符串有问题,但我的连接字符串似乎很好,知道吗

这是我想要tp查询的控制器,我得到错误:

   private readonly TenMinutesContext _context;
    public ValuesController(TenMinutesContext context)
    {

        _context = context;
    }
    // GET api/values
    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {
        var s = _context.stat10mins.Take(5).ToList();

        return null;
    }
我的数据库上下文:

 public TenMinutesContext(DbContextOptions<TenMinutesContext> options) : base(options)
    {
    }
    public DbSet<TenMinutes> stat10mins { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        //  modelBuilder.("wpv");
        modelBuilder.Entity<TenMinutes>().ToTable("v_statistics_10_m", "wpv");

        base.OnModelCreating(modelBuilder);
    }
在应用程序设置中

  public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });
        services.AddDbContext<TenMinutesContext>(opt =>
            opt.UseNpgsql("TenMinutes"));
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        var connection = @"Server=192.xxx.xx.xx;Port=5433;Database=ltw_central_db;User Id=UserNAme;Password = myPass; Timeout = 15;";
        services.AddDbContext<TenMinutesContext>
            (options => options.UseNpgsql(connection));

    }
有关Postgresql中的EF core,请参阅:


使用此连接字符串的代码是什么?您是否在某个地方定义了它应该使用PostgreSQL,这样它就不会尝试使用其他提供程序了?@SamiKuhmonen我通过添加appsetting更新了我的问题,我使用的是提供程序Npgsql,我还从nugetservices.AddDbContextopt=>opt.UseNpgsqlTenMinutes安装了.net核心的npgsql;十分钟确实是一个无效的连接字符串。你能告诉我我在哪里使用了两个db上下文吗?通过删除这个字符串,我的代码永远达不到controller@mortezasol请看我的答案的第一行,它是从您发布的代码中复制的。。。
services.AddDbContext<TenMinutesContext>(opt =>
        opt.UseNpgsql("TenMinutes"));

    var connection = @"Server=192.xxx.xx.xx;Port=5433;Database=ltw_central_db;User Id=UserNAme;Password = myPass; Timeout = 15;";
    services.AddDbContext<TenMinutesContext>
        (options => options.UseNpgsql(connection));
services.AddDbContext<TenMinutesContext>(opt => opt.UseNpgsql("TenMinutes"));