2017-11-30 11 views
0

エンティティフレームワークをコードファーストメソッドで使用しようとしていますが、何らかの理由でデータベースが作成されません。問題は私のapp.config設定ファイルにあると思います。以前はエンティティフレームワークを使用したことはありません。私はstackoverflowで同様の記事を読んだが、私は私の問題を解決することはできません。私はコンパイル中にエラーが発生しませんが、私は私のデータベースが作成されて表示されないMicrosoft SQL Serverを開くとき。エンティティフレームワークapp.config構成でデータベースが作成されない

これは私のapp.configファイルです。私はこのコードをオンラインで見つけましたが、データベース属性の中に何を書き込むべきか分かりません。ここでまた

<configuration> 
    <configSections> 
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    </configSections> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> 
    </startup> 
    <appSettings> 
    <add key="ipadress" value="127.0.0.1" /> 
    <add key="port" value="14000" /> 
    </appSettings> 

    <connectionStrings> 
    <add name="AVLdataContext" connectionString="Server=.\SQLEXPRESS;Database=Blogging;Integrated Security=True;" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
</configuration> 

私のモデルクラスである:ここで

namespace TCPserver 
{ 
    public class DataBaseModel 
    { 
     public static string LoadToDatabase(byte[] arr, string imei) 
     { 
      return ReversedBinaryReader.LoadToDatabase(arr, imei); 
     } 
    } 

    public class AVLdataContext : DbContext 
    { 
     public DbSet<Datas> Data { get; set; } 
     public DbSet<GPSelement> GPSelement { get; set; } 
     public DbSet<IOelement> IOelement { get; set; } 
    } 
} 

は私のコントローラです:

using (var db = new AVLdataContext()) 
{ 
    db.Data.Add(data); 
    db.GPSelement.Add(data.Gps); 
    db.IOelement.Add(data.Io); 
    db.SaveChanges(); 
} 

私が間違って何をしているのですか?私はこれで完全に緑色です。あなたはコンストラクタを含めるようにAVLdataContextを更新する必要があり

+0

ソリューション内に複数のプロジェクトがありますか?もしそうなら、あなたのWebアプリケーションのweb.configにその部分を追加してみてください – ztadic91

+0

それは私の問題を解決しません.. – CaL17

答えて

2

はこれがないと、接続文字列

public class AVLdataContext : DbContext 
{ 
    public AVLdataContext() 
     : base("AVLdataContext") 
    { 

    } 

    public DbSet<Datas> Data { get; set; } 
    public DbSet<GPSelement> GPSelement { get; set; } 
    public DbSet<IOelement> IOelement { get; set; } 
} 

base()を呼び出し、EFはデータベースがどこにあるかを知る方法がありません。

thisもご覧ください。

+0

役に立つ答え、それでも同じ結果です。他に何ができますか? – CaL17

0

があなたのパッケージマネージャコンソールを開き、コマンドをfolowing書くようにしてください:

Enable-Migrations 
Add-Migration initial 
Update-Database 

これは、あなたのDBの移行を可能にする最初の移行を追加して、DBを作成します。

関連する問題