11

私は現在、マニングの「ASP.NET MVC 4 in Action」の本を読んでいて、最初の例を機能させようとしています。

テスト アプリケーション内で、単純なモデルを構築し、いくつかのビューを作成しました。次に、NuGet を使用して「SQL Server Compact」をインポートしました。

最終的にアプリケーションを実行しようとすると、次のエラーが発生します。

Invalid value for key 'attachdbfilename'

これは、実行中のデータベースとのすべての対話 (SELECT またはその他の CRUD 操作) で発生します。何か案は?

4

9 に答える 9

12

ただし、この質問への回答は少し遅れていますが、同じ問題に直面していたため、以下のように接続文字列を変更して解決しました

 <add name="MovieDBContext"
    connectionString="Data Source=.;Initial Catalog=Movies;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
    providerName="System.Data.SqlClient" />

これが他の人にも役立つことを願っています。

于 2013-04-01T22:05:45.030 に答える
3

この特定のエラーの解決策を見つけようとしましたが、成功しませんでした。

.Net Framework 4 を 4.0.2 に更新することで最終的に修正されました。パッチと詳細はこちらのリンクにあります

それが役に立てば幸い

于 2012-11-19T15:29:04.057 に答える
1
<add name="myconstr" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|mydata.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> 

上記の接続文字列でエラーが発生しましたが、データベースの名前の前に「\」を追加するとすぐにエラーが解決されました。

これを試して:

<add name="myconstr" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\mydata.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> 
于 2017-01-09T05:18:13.463 に答える
1

Web.config のセクションに移動し、セクションを次のように変更して、SQLServerCE4 を使用できるようにします。

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.4.0"/>
</parameters>
</defaultConnectionFactory>
</entityFramework>
于 2012-11-01T22:44:12.960 に答える
0

これが私がそのエラーについて見つけたブログ投稿です。少し古いですが、SQLサーバーのエクスプレスバージョンを使用しています。MSDNリンク

そのブログ投稿では、SQLデータベースのサーバー名が/sqlexpressではなくローカルアドレスであると想定することについて説明しています。

間違った接続文字列があることについて説明しているこのブログ投稿もあります。したがって、データベースへの接続文字列を確認してください。そしてあなたの問題はそこにあるかもしれません。

于 2012-08-27T01:45:20.743 に答える
0

SQL Server Compact 4.0 を使用しています:

SQL Server Compact 4.0 がインストールされていることを確認してください。

SQL Server Compact 用の VS 2010 SP1 ツールをインストールします。

接続文字列を次のように変更します。

  <connectionStrings>
     <add name="MyModelDBContext" connectionString="Data Source=|DataDirectory|mymodel.sdf" providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>

コントローラーフォルダーを右クリックし、-> 追加 -> コントローラー

タイプ:

YourController
MVC-Controller with read/write ...
MyModel
new datacontext -> APP.Models.DatabaseContext
于 2013-04-04T16:03:48.270 に答える