我在解决方案中有两个项目——一个类库包含数据库实体(使用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)。
请帮我提供数据库的正确相对路径。
试试这个,希望它能起作用。
转到项目的属性检查设置选项卡。如果您包含多个连接字符串,请将其删除。然后添加应用程序配置中的连接字符串。
谢谢。
快乐编码:)