でデータベースを作成しますプロジェクトはSQL Serverに接続するように構成され、同じ接続文字列をapp/web.config
に定義します。Entity Frameworkのは、私は私の溶液中で二つのプロジェクトを持っている間違った名前
<add name="AppContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=localhost\SQLEXPRESS;Database=XYZAC;Integrated Security=True" />
問題はコンソールアプリケーションでのみ発生します。 WebアプリケーションはXYZAC
データベースを正しく作成します。しかし、コンソールアプリケーションは、Namespace.AppContext
の行に沿った名前のデータベースを作成します。これはまったく必要ではありません。そのため、これらのプロジェクト間のコミュニケーションはありません。
コンソールアプリケーションの接続文字列にDatabase=
からInitial Catalog=
に変更しようとしましたが、何も変更されませんでした。
何がこの原因になることができますか? APIがIIS APPPOOL\XYZAC
ユーザーとアプリ経由でWINSRV\Administrator
経由でログインしているため、このエラーが発生する可能性がありますか?おそらく、どちらも同じアクセス許可グループとすべてのアクセス権を持っているためだと思われますが、それ以外に何が原因なのかわかりません。
私はここで間違っていますか?
編集:私は、これら2つのプロジェクト間でDBモデルを共有しています。接続文字列をコンストラクタにハードコーディングしてみます。
'DbContext'コンストラクタを確認してください。 .configの接続文字列を使用するように指定していないと思います。 –
また、コンソールアプリケーションはweb.configを使用しません。 your.app.name.exe.cofigファイルを使用します。 –
コンソールアプリケーションに 'app.config'を追加する必要があります。 –