在Silverlight项目中存储EF数据库连接字符串

时间:2010-12-13 10:29:19

标签: asp.net configuration connection-string

我们是一个由4名开发人员组成的团队,负责同一个项目。我们使用Entity Framework来访问我们的SQL数据库后端。我们将连接字符串存储在web.config中。

每个开发人员都在测试他自己的本地SQL服务器数据库的代码。这意味着每个开发人员在web.config中都有自己的SQL Server连接字符串。我通常在我的机器上有几个不同的数据库副本,包含来自不同场景的数据,我通过编辑连接字符串来切换。一个数据库可能为空,另一个数据库可能包含大量测试数据等等。

我们面临的问题是我们不小心将web.config检入到源代码控制中,这意味着当团队中的其他开发人员从源代码​​控制中检索最新代码时,他的本地web.config - 与他的连接字符串 - 将被其他开发人员的字符串覆盖。 (顺便说一句,我们使用的是AccuRev,其中没有好办法忽略某些文件)。

我想到了几个不同的hackish解决方案:

  • 创建新配置文件,我们存储特定于计算机的配置。我们不在源代码管理中签入此文件。或者我们使用其他名称检查它。
  • 将web.config重命名为源代码管理中的web.config.default(或其他内容)。从源代码管理结账后,开发人员必须先将web.config.default重命名为web.config才能运行。

当然必须有标准的处理方法吗?

2 个答案:

答案 0 :(得分:0)

如果您使用visual studio 2010,则可以使用web.config转换。

只是一个想法...
每个开发人员都需要设置他/她自己的构建配置,如DebugDeveloperA,DebugDeveloperB,Staging,Relase等...... Visual Studio 2010为每个构建配置创建web.config转换文件,因此如果从源代码管理中获取最新版本,则需要确保使用构建配置。

答案 1 :(得分:0)

我选择了以下解决方案:

  • 将web.config重命名为源代码管理中的web.config.default(或其他内容)。
  • 作为预建步骤,检查web.config是否存在。如果没有,请将web.config.default复制到web.config。