私のEntity Frameworkを含む別のデータレイヤーを構築しました。私は私の現在のプロジェクトでは、この別のプロジェクトへの参照をした...私は私の現在のMVCコントローラに以下を追加しました:存在するプロジェクトを参照しているときに接続文字列が見つかりません
using SMCD_DataLayer;
[HttpPost]
public ActionResult Login(LoginViewModel lv)
{
var db = new SMCD_DataStoreEntities();
var found = db.Users.Select(x => x.Username == lv.userId && x.Password == lv.passWord).Any();
if (ModelState.IsValid)
{
if (!found)
{
lv.errorMsg = "User ID is invalid!";
}
else
{
return RedirectToAction("IntroPage", "Devices");
}
}
return View(lv);
}
私SMCD_DataStoreEntitiesがSMCD_DataLayerに住んでいるが、このコントローラはSMCD_Portalプロジェクトに住んでいます。見つかった行のVARの
...私は次のエラーメッセージを取得しています:System.InvalidOperationExceptionが発生した HRESULT = 0x80131509 メッセージ=「SMCD_DataStoreEntities」という名前なしの接続文字列は、アプリケーションの設定ファイルに見つかりませんでした。
SMCD_Datalayerの接続文字列は、現在のプロジェクトで参照していますが、SMCD_Portalプロジェクトに存在する必要がありますか?
これはSMCD_Portal
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<connectionStrings>
<add name="SMCD_DataStoreEntities" connectionString="metadata="res://*/SMCD DataStore.csdl|res://*/SMCD DataStore.ssdl|res://*/SMCD DataStore.msl";provider=System.Data.SqlClient;provider connection string="data source=KARL-LT\SQLEXPRESS;initial catalog=SMCD_DataStore;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
関連するコードを追加してください。現在提供しているコードのいずれも接続文字列を示していません。また、web.config(または関連リソース)からの接続文字列も提供していません。 **実際の接続文字列情報を削除するには、ホスト、db名、ユーザー名またはパスワード**を知る必要はありません**。 –
私はあなたにそれを示すことができると確信しています –
私の主な質問は...エンティティフレームワークは別のプロジェクトに住んでいますか、それとも私の現在のプロジェクトで私のコントローラがそれを使用していますか? –