2017-01-05 17 views
0

エンティティフレームワークでelephantsqlデータベースを使用したい(どちらのバージョンでも)。私はそれらの技術の2つの部分を接続することができますnpgsqlについてのインターネット上のチュートリアルを発見した。npgsql - 'template1'データベースの使用を中止する

Iは、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; } 
} 

Iは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"} 

私はpg_hba.confの編集はできませんので、それはelephantSql最もシンプルなプランですこれは私が自分自身にいくつかの特権を与えることができるファイルです。

私のConnectionString:

<add name="PrzychodniaContext" connectionString="Server=YouDontWantToKnowButYouKnow;Database=jnwnqqog;User Id=jnwnqqog;Password=YouDontWantToKnow;MAXPOOLSIZE=5;" providerName="Npgsql" /> 

は、私が試してみましたか?

1)まず何が起こっているのか分かります。 create databaseコマンドのnpgsqlのドキュメントで、私は見つけた:

template 
The name of the template from which to create the new database, or DEFAULT to use the default template (template1). 

私はそれを変更する方法がわかりません。私はそれをelephantSQLの私のDBだから 'jnwnqqog'に変更するとよいだろうが。でも私にはわからない。

2)私は使用しました Database.SetInitializer(null); 私は、新しいデータベースの作成をやめようとしています。それはこの行動を止めませんでした。

3)SSLを有効/無効にしようとしました。

4)エンティティフレームワークをnpgsqlとともに5.0から6.0に変更しました。

好奇心をそそるもの: - elephantsqlとpostgresql with visual studio? - 大学プロジェクト。正直、私はmssqlを使用したいと思いますが、できません。 progresqlのみ。

編集:私は多くの質問/チュートリアル/バグトラッカーの物語などを読み込もうとしました。私の答えは見つかりませんでした。 Edit2:すみません、私は忘れました。 ElephantSQLは、クラウドでホストされているpostgresqlデータベースです。

+0

「elephantSQL」の特徴は何ですか? –

+0

ElephantSQLは、クラウドでホストされているpostgresqlデータベースです。 – Shoter

答えて

2

私はそれを作った。

私は、あなたがあなたの接続文字列にこれを追加する必要があるとして、誰かがこれまでと同じ問題を抱えているだろう場合:

EntityAdminDatabase=[DATABASE_NAME] 

そして、それはtemplate1を 'を使用して停止します。

0

npgsql dllを更新し、EntityAdminDatabase =接続文字列に[DATABASE_NAME]を追加してください。

ありがとうございました

関連する問題