基于Context的实体框架的不同连接字符串

时间:2009-09-21 09:53:36

标签: entity-framework deployment webforms connection-string

我有一个使用实体框架的Web表单应用程序,该应用程序部署在开发盒,本地计算机和生产盒上。每个都有不同的连接字符串。 处理此问题的最佳方法是什么。

我使用TFS Build Server部署到开发中,并将该构建的结果压缩并将其手动复制到生产中。

如果有帮助,我也会使用Web部署项目

我以前做的是当ORM启动时,它会根据根文件夹的名称选择一个连接字符串。使用Entity Framework我不知道如何在不必在每个页面上设置它。

2 个答案:

答案 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