多個項目的ADO.NET實體連接字符串

ado.net ado.net-entity-data-model entity-framework linq-to-entities

我正在使用多層項目,其中DataModel承載ADo.NET實體模型,DataAccess層執行驗證。

但每次我都會收到這樣的錯誤

指定的命名連接在配置中找不到,不打算與EntityClient提供程序一起使用,或者無效。

我嘗試過連接字符串

<add name="SalesEntities" connectionString="metadata=res://*/SalesEntities.csdl|res://*/SalesEntities.ssdl|res://*/SalesEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.;Initial Catalog=Phoenix;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

<add name="SalesEntities" connectionString="metadata=.\SalesEntities.csdl|.\SalesEntities.ssdl|.\SalesEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.;Initial Catalog=Phoenix;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

還嘗試了其他組合來引用被調用項目目錄的根目錄,但沒有運氣。

任何幫助都非常感謝。非常感謝一如既往:)。

熱門答案

您必須將這些連接字符串放在每個應用程序app.config文件中。如果您有一個生成模型的DAL,然後嘗試在EXE中使用DAL,則會發生同樣的事情。 EXE不知道連接字符串。

我發現最容易的事情是在每個項目上放置一個app.config,然後從DAL中復制連接字符串,我最初生成了模型。然後每個都將擁有相同連接字符串的副本。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因