如何在Visual Studio 2015 / C#中使用本地SQL数据库引用子项目
本文关键字:SQL 数据库 子项目 引用 Visual Studio 2015 | 更新日期: 2023-09-27 18:36:01
我有一个c#项目("MainProject"),它在我的解决方案中引用了另一个c#项目("UserManager")。用户管理器有一个本地数据库(a "Service-based Database", .mdf
)。
通过将此数据库添加到UserManager,Visual Studio 2015默认在UserManager的App.config中创建连接字符串条目。
<connectionStrings>
<add name="UserManager.Properties.Settings.TPHWDatabaseConnectionString"
connectionString="Data Source=(LocalDB)'MSSQLLocalDB;AttachDbFilename=|DataDirectory|'TPHWDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
。以及"属性.设置"中的一个条目,该条目命名为 App.config 条目的名称字段,其中包含以下值:
Data Source=(LocalDB)'MSSQLLocalDB;AttachDbFilename=|DataDirectory|'TPHWDatabase.mdf;Integrated Security=True
在用户管理器项目的 C# 代码中,我使用以下行创建 SqlConnection 对象:
// Establish conenction to database
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["UserManager.Properties.Settings.TPHWDatabaseConnectionString"].ConnectionString;
sqlConnection.Open();
这一切都可以很好地运行用户管理器项目本身。数据库文件(".mdf")也包含在 MainProject 的 bin 文件夹中。但是,当运行 MainProject 时,"ConfigurationManager.ConnectionStrings
["UserManager.Properties.Settings.TPHWDatabaseConnectionString"]" 将被null
,我将收到调用 ".连接字符串"上。这似乎是合理的,因为我无法访问 MainProject 的"UserManager.Properties.Settings"
和"App.config"
。
所以我的问题是:引用UserManager
(在 MainProject 中)以保持数据库工作的干净方法是什么?
编辑
我现在只是将连接字符串原样复制到我的 MainProject 的 App.config 文件中,并将完全相同的设置设置为"属性.设置"。这似乎有效并且相当容易。但这仍然是最干净的方法吗?
将引用数据库的连接字符串添加到 web.config,而不是附加数据库文件。 像这样的东西
<connectionStrings>
<add connectionString="Server=.'sqlexpress;Initial Catalog=myDB;Integrated Security=True;" name="mydbconnection" />
</connectionStrings>
并像下面这样阅读:
ConnectionStringSettings ConnectionString = ConfigurationManager.ConnectionStrings["mydbconnection"]