2012-03-13 15 views
0

私はMVC3でEFコードファーストを使用しています。エンティティフレームワークの接続文字列の問題

Web設定で接続文字列を指定しないと、アプリケーションは正常に動作します。 起動時にデータベースとテーブルが作成され、すべて正常に動作します。

作成した新しい空のデータベースに接続文字列を指定すると、テーブルが作成されず、アプリケーションを実行するときにエラーが発生します。エラーは、テーブルが存在せず、クエリを実行しようとしているので、nullポインタにとって不可欠です。この接続文字列は、あなたがそれでコピーエラーがある場合は、データソースの」書かれている

=

<add name="MyContextName" connectionString="Data Source=.\sqlexpress;Initial Catalog=MyDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" /> 

MyContextClass

public class MyContextName : DbContext 
{ 
    public DbSet<Book> books{ get; set;} 
} 
+0

"Context"クラスを表示させてください – Razor

+0

私はそれを追加しました。その本当の基本。 – MaxGeek

+0

MS Server Management Studioを使用して接続を試み、接続文字列が実際に動作するかどうかを確認してください。 – adyusuf

答えて

1

私はこの問題は私のプロセスであることが判明。私は新しい空のデータベースを作成し、私のWeb設定に接続文字列をコピーしました。あなたはデータベースを全く作成しないと思われます。接続文字列を設定するだけで、EFのようにデータベースが生成されます。

2

:ここ

は私の接続文字列であります"2回、

以下を参照

<追加名= "MyContextName" たconnectionString = "Data Source=データソース= \ SQLEXPRESS;初期カタログ= MyDatabaseName;統合セキュリティ= True" をproviderNameで= "System.Data.SqlClientの"/>

+1

ここで編集したとき、コピーエラーは間違いでした。それは私が経験している実際の問題ではありません。 – MaxGeek

2

置き換えます

<add name="MyContextName" connectionString="Data Source=.\sqlexpress;Initial Catalog=MyDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" /> 

<add name="MyContextName" connectionString="Data Source=|DataDirectory|databasename" providerName="System.Data.SqlClient" /> 
+0

私がここに投稿したのは間違いでした。また、あなたの投稿が私のものだと思って誤って編集しました...申し訳ありません。 – MaxGeek

関連する問題