【问题标题】:using |DataDirectory| in connectionstring of multiproject solution使用 |数据目录|在多项目解决方案的连接字符串中
【发布时间】:2015-09-14 05:24:51
【问题描述】:

我在解决方案中有 2 个项目 - 一个带有数据库实体的类库(使用 EF),一个用于 Winforms。

连接字符串在Winforms应用程序的app.config中,并且可以正常工作:

<add name="LibraryContext" 
     connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyLibrary.mdf;Integrated Security=True; "
     providerName="System.Data.SqlClient"/>

但是当我尝试提供迁移时,我得到一个错误:

发生文件激活错误。物理文件名“\MyLibrary.mdf”可能不正确。诊断并更正其他错误,然后重试该操作。

当我在连接字符串中提供完整路径时,一切正常。我认为问题出在DataDirectory。带有数据库实体的项目看不到它,或者可能将其视为自己的 DataDirectory 而不是启动项目(Winforms)的项目。

请帮我提供正确的数据库相对路径。

【问题讨论】:

  • 您在数据访问程序集中进行迁移,它需要一个自己的 app.config。
  • 但是当我在 WinForms 项目中拥有数据库的完整路径时它可以工作

标签: c# entity-framework connection-string multi-project datadirectory


【解决方案1】:

试试这个希望这会奏效。

转到项目检查设置选项卡的属性。如果您包含多个连接字符串,则将其删除。并添加您在应用程序配置中拥有的连接字符串。

谢谢。

快乐编码:)

【讨论】:

  • 当路径包含 |DataDirectory| 时没有帮助,只有完整路径有效。
  • 这不能回答问题。充其量只是一个建议,应该是一个评论。
猜你喜欢
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 2013-07-17
  • 1970-01-01
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
  • 2014-05-08
相关资源
最近更新 更多