entity-framework - npgsql - 停止使用 'template1' 数据库

标签 entity-framework entity-framework-6 npgsql

我想使用带有 Entity Framework (无论哪个版本)的elephantsql 数据库。我在互联网上找到了关于 npgsql 的教程,它可以帮助我连接这两项技术。

我做了一个对象,它将代表来自 DB 的对象:

[Table("typychorob", Schema = "public")]
public class TypChoroby
{
    public TypChoroby()
    {
    }

    [Key, Column("id"), DatabaseGenerated(DatabaseGeneratedOption.Identity), Required]
    public int ID { get; set; }

    [Column("nazwa"), MaxLength(50)]
    public string Nazwa { get; set; }
}

我创建了代表 dBContext 的类。 Uzytkownik 几乎与 TypChoroby 相同。
public class PrzychodniaContext : DbContext
{
    public DbSet<Uzytkownik> Uzytkownicy { get; set; }
    public DbSet<TypChoroby> TypyChorob { get; set; }

    public PrzychodniaContext() : base()
    {
    }
}

我尝试以下列风格使用这些东西:
using (var context = new PrzychodniaContext())
        {
            context.Database.Log = post;
            var chorobska = context.TypyChorob.ToList();
        }

这总是会产生这样的错误:
{"28000: no pg_hba.conf entry for host \"178.37.126.100\", user \"jnwnqqog\", database \"template1\", SSL off"}

这是大象Sql最简单的计划,所以我不能编辑pg_hba.conf,这是一个我可以给自己一些特权的文件。

我的连接字符串:
<add name="PrzychodniaContext" connectionString="Server=YouDontWantToKnowButYouKnow;Database=jnwnqqog;User Id=jnwnqqog;Password=YouDontWantToKnow;MAXPOOLSIZE=5;" providerName="Npgsql" />

我试过什么?

1)首先我知道发生了什么。在创建数据库命令中的 npgsql 文档中,我发现:
template
The name of the template from which to create the new database, or DEFAULT to use the default template (template1).

老实说,我不知道如何改变这一点。我认为将其更改为“jnwnqqog”会很好,因为它是我在大象 SQL 的数据库。但是我不知道。

2)我用过
Database.SetInitializer(null);
我认为它会停止尝试创建新数据库。它并没有阻止这种行为。

3) 我尝试启用/禁用 SSL。

4)我将 Entity Framework 从 5.0 更改为 6.0 以及 npgsql。

对于所有好奇的人:
- 为什么大象sql和postgresql与visual studio? - 大学项目。老实说,我想使用 mssql,但我不能。只有progresql。

编辑:我尝试阅读许多问题/教程/错误跟踪器故事/等。没有找到我的答案。
Edit2:对不起,我忘了。 ElephantSQL 是一个托管在云中的 postgresql 数据库。

最佳答案

我做到了 :)。

如果有人和我有同样的问题,那么您需要将其添加到您的连接字符串中:

EntityAdminDatabase=[DATABASE_NAME]

然后它将停止使用“template1”。

关于entity-framework - npgsql - 停止使用 'template1' 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41495767/

相关文章:

c# - Entity Framework 隐式类型转换

postgresql - Npgsql 导致 System.NotSupportedException

entity-framework - 为什么 Entity Framework 选择内存聚合而不是 sql?

asp.net - EF6(代码优先)、MVC、Unity 和没有存储库的服务层

c# - EntityDataSource 和 Entity Framework 6

entity-framework - 使用 Postgresql 和 Npgsql 的 Entity Framework

postgresql - 用于 PostgreSQL 通知/监听的 .NET 库

c# - Entity Framework 存储过程异常

c# - 如何使用 Linq 订购集合属性?

asp.net-mvc - 使用 Entity Framework 4.5 mvc4选择不重复的随机行