使用| DataDirectory |在多项目解决方案的连接字符串中

时间:2015-06-27 09:07:34

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

我在解决方案中有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)的项目。

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

1 个答案:

答案 0 :(得分:0)

试试这个希望这会有效。

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

感谢。

快乐编码:)