Asp.net mvc 如何获得当前连接

Asp.net mvc 如何获得当前连接,asp.net-mvc,vb.net,entity-framework,migration,Asp.net Mvc,Vb.net,Entity Framework,Migration,给定比例: 我们首先使用Asp.NETMVC和实体框架代码构建了一个web应用程序,它为每个客户动态构建了一个数据库 给定一个连接字符串connectionStr和一个特定的配置,我们创建了addmigrations[Name]来创建一个空迁移,它有一个清空函数。我们是故意那样做的 我们不想在这里使用自动迁移-我们想要完全控制,所以我们有一个程序使用DbMigrator类进行迁移 我们的目标是在这个Up函数中运行一个手动种子 这是负责进行迁移的部分代码,迁移确实非常有效: Dim myConfi

给定比例:

我们首先使用Asp.NETMVC和实体框架代码构建了一个web应用程序,它为每个客户动态构建了一个数据库

给定一个连接字符串connectionStr和一个特定的配置,我们创建了addmigrations[Name]来创建一个空迁移,它有一个清空函数。我们是故意那样做的

我们不想在这里使用自动迁移-我们想要完全控制,所以我们有一个程序使用DbMigrator类进行迁移

我们的目标是在这个Up函数中运行一个手动种子

这是负责进行迁移的部分代码,迁移确实非常有效:

Dim myConfiguration As New SomeNamespace.Migrations.Config1.Configuration
myConfiguration.TargetDatabase = New Infrastructure.DbConnectionInfo(connectionStr, "System.Data.SqlClient")

Dim dbMig As New Entity.Migrations.DbMigrator(myConfiguration)
If dbMig.GetPendingMigrations.Count > 0 Then
  dbMig.Update() ' This makes the Up function work - the problem is inside it.
End If
问题:

问题是,当迁移的Up函数运行时,我们无法获取数据库上下文。我们需要它来制造种子

我们希望有一种方法可以获取用于启动DbMigration dbMig实例的配置对象myConfiguration,或者其他一些方法,这样我们就可以获取数据库上下文,或者以某种方式获取ConnectionString


帮助访问配置对象/数据库上下文/连接字符串-将非常感谢。

我不这么认为,因为Up方法所做的是填充操作集合,而dbmigator类实际上执行这些操作。因此,调用up时没有“上下文”


您可以通过ConfigurationManager类直接获取连接字符串

,但Up方法在空白处不起作用。。它在我需要上下文的数据库上工作。我不明白直接使用ConfigurationManager到底是什么意思。我试图做的是手动初始化迁移类,并从外部将上下文作为参数传递给它。它对数据库不起作用,它创建一组MigrationStatement对象,然后每个对象都转到MigrationSqlGenerator类,生成的语句对数据库执行。如果连接字符串名称为常量,则可以通过编写ConfigurationManager.ConnectionString[YourName].ConnectionString来获得它