多个项目的ADO.NET实体连接字符串

Sum*_*nta 27 ado.net linq-to-entities entity-framework ado.net-entity-data-model

我正在使用多层项目,其中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" />

还尝试了其他组合来引用被调用项目目录的根目录,但没有运气.

任何帮助都非常感谢.非常感谢一如既往:).

Jas*_*ort 25

您必须将这些连接字符串放在每个应用程序app.config文件中.如果您有一个生成模型的DAL,然后尝试在EXE中使用DAL,则会发生同样的事情.EXE不知道连接字符串.

我发现最容易的事情是在每个项目上放置一个app.config,然后从DAL中复制连接字符串,我最初生成了模型.然后每个都将拥有相同连接字符串的副本.

  • 嗯,是否有可能在一个地方存储所有连接字符串然后'告诉'所有web.config文件在哪里找到连接字符串? (3认同)