0

我有两个项目:

1 - “存储库”文件夹中带有 SqlCe 数据库的“域”

2 - “网络” mvc4 项目

app.config 中“域”项目中的连接字符串如下所示(由向导自动创建):

    <connectionStrings>
        <add name="Domain.Properties.Settings.MyDbConnectionString"
          connectionString="Data Source=|DataDirectory|\Repositories\MyDb.sdf"
          providerName="Microsoft.SqlServerCe.Client.4.0" />
   </connectionStrings>

我已将此复制粘贴到“Web”项目的 web.config 中:

<connectionStrings>
    <add name="Domain.Properties.Settings.MyDbDbConnectionString"
      connectionString="Data Source=\Repositories\MyDb.sdf"
      providerName="Microsoft.SqlServerCe.Client.4.0" />
  </connectionStrings>

当我运行“Web”应用程序时,它会抛出异常:

路径无效。检查数据库的目录。[ 路径 = \Repositories\MyDb.sdf ]

此路径存在于“Web”项目的 bin 目录中。这里有什么问题?

我可以在代码中使用它:

var connectionString = ("Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(DbRepository)).GetName().CodeBase) + "\\Repositories\\GameStoreDb.sdf").Replace("file:\\", string.Empty);

但这肯定是一个非常肮脏的解决方法)。指定连接字符串的正确方法是什么?

4

1 回答 1

0

您的基于代码的解决方案非常好且有效

于 2013-11-08T11:11:44.320 回答