我有一个使用实体框架的Web表单应用程序,该应用程序部署在开发盒,本地计算机和生产盒上。每个都有不同的连接字符串。 处理此问题的最佳方法是什么。
我使用TFS Build Server部署到开发中,并将该构建的结果压缩并将其手动复制到生产中。
如果有帮助,我也会使用Web部署项目
我以前做的是当ORM启动时,它会根据根文件夹的名称选择一个连接字符串。使用Entity Framework我不知道如何在不必在每个页面上设置它。
答案 0 :(得分:5)
我们有一些模糊的东西,我创建了一个包装EntityContext对象的类,它适当地设置连接字符串 - 根据你设置连接字符串的方式,你需要类似的东西:
Public Class MyEntityModel
Private _dataContext As Entities
Public Sub New()
Dim entityBuilder As New EntityConnectionStringBuilder()
entityBuilder.ProviderConnectionString = MyApplicationConnectionString
entityBuilder.Metadata = "res://*/"
entityBuilder.Provider = "System.Data.SqlClient"
_dataContext = New Entities(entityBuilder.ConnectionString)
End Sub
Public Function DataContext() As Entities
Return _dataContext
End Function
End Class
答案 1 :(得分:4)
仅供参考您现在可以在VS 2010中使用配置转换: http://msdn.microsoft.com/en-us/vstudio/Video/ff801895