【发布时间】: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