ASP.NET Entity Framework SQL 服务器 mdf 文件的代码优先连接字符串,它在哪里以及如何更改它?
ASP.NET Entity Framework code-first connection string for SQL Server mdf file, where is it and how do I change it?
我正在启动我的 asp.net 应用程序,但在使用本地创建的某些数据库时遇到问题。我需要更改程序的连接字符串以指向我的新在线 SQL 服务器数据库,但我找不到任何方法来做到这一点。我使用 Entity Framework 代码优先脚手架在本地创建了这些数据库。这是我的数据库上下文代码:
public class SubjectDbContext : DbContext
{
public DbSet<Subject> SubjectDatabase { get; set; }
}
然后我用这个方法把它变成了 .mdf
:
使用构造函数自动生成数据库(根据 https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#localdbtosse)。这就是我能够弄清楚的。
我真的需要找到这些连接字符串以便我可以更改它们,否则我不知道如何让我发布的应用程序联机访问其各自的数据库。
重建这些数据库并不是真正的选择。所以我需要找到并更改它们的连接字符串。现在连接字符串不在 web.config
文件中。事实上,删除 web.config
文件中的所有连接字符串并不会阻止这些数据库在本地工作。所以它们必须存储在其他地方。
如何更改这些连接字符串。如果我不能,我的应用程序将无法在线运行。
我能找到的最接近这个问题的 post 是:
Code first: Where's the connection string & the Database?
但它没有回答问题。感谢您提供任何帮助或链接。
默认连接字符串以名称 "DefaultConnection" 添加到 Web.config。
数据库文件会在应用程序的 App_Data 文件夹下创建。(单击 'Show All files' 查看数据库文件或浏览到资源管理器中的 App_Data
文件夹路径)。
这是将 DefaultConnection
设置为新服务器后进行迁移的方式:
将 SubjectDbContext 更改为如下所示,添加构造函数:
public class SubjectDbContext : System.Data.Entity.DbContext
{
public SubjectDbContext() : base("DefaultConnection")
{
}
public DbSet<Subject> SubjectDatabase { get; set; }
}
运行 程序包管理器控制台中的命令:
Enable-Migrations -ContextTypeName SubjectDbContext -MigrationsDirectory Migrations\SubjectDbContext
它将在 Migrations/SubjectDbContext
文件夹中创建 Configuration.cs
在Configuration
构造函数中设置AutomaticMigrationsEnabled = true;
。如果需要可以添加种子代码。
运行 程序包管理器控制台中的以下命令,用于创建数据库及其表:
Update-Database -ConfigurationTypeName [Replacewith namespace].SubjectDbContext.Configuration –Verbose
我正在启动我的 asp.net 应用程序,但在使用本地创建的某些数据库时遇到问题。我需要更改程序的连接字符串以指向我的新在线 SQL 服务器数据库,但我找不到任何方法来做到这一点。我使用 Entity Framework 代码优先脚手架在本地创建了这些数据库。这是我的数据库上下文代码:
public class SubjectDbContext : DbContext
{
public DbSet<Subject> SubjectDatabase { get; set; }
}
然后我用这个方法把它变成了 .mdf
:
使用构造函数自动生成数据库(根据 https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#localdbtosse)。这就是我能够弄清楚的。
我真的需要找到这些连接字符串以便我可以更改它们,否则我不知道如何让我发布的应用程序联机访问其各自的数据库。
重建这些数据库并不是真正的选择。所以我需要找到并更改它们的连接字符串。现在连接字符串不在 web.config
文件中。事实上,删除 web.config
文件中的所有连接字符串并不会阻止这些数据库在本地工作。所以它们必须存储在其他地方。
如何更改这些连接字符串。如果我不能,我的应用程序将无法在线运行。
我能找到的最接近这个问题的 post 是: Code first: Where's the connection string & the Database?
但它没有回答问题。感谢您提供任何帮助或链接。
默认连接字符串以名称 "DefaultConnection" 添加到 Web.config。
数据库文件会在应用程序的 App_Data 文件夹下创建。(单击 'Show All files' 查看数据库文件或浏览到资源管理器中的 App_Data
文件夹路径)。
这是将 DefaultConnection
设置为新服务器后进行迁移的方式:
将 SubjectDbContext 更改为如下所示,添加构造函数:
public class SubjectDbContext : System.Data.Entity.DbContext { public SubjectDbContext() : base("DefaultConnection") { } public DbSet<Subject> SubjectDatabase { get; set; } }
运行 程序包管理器控制台中的命令:
Enable-Migrations -ContextTypeName SubjectDbContext -MigrationsDirectory Migrations\SubjectDbContext
它将在
Migrations/SubjectDbContext
文件夹中创建Configuration.cs
在
Configuration
构造函数中设置AutomaticMigrationsEnabled = true;
。如果需要可以添加种子代码。运行 程序包管理器控制台中的以下命令,用于创建数据库及其表:
Update-Database -ConfigurationTypeName [Replacewith namespace].SubjectDbContext.Configuration –Verbose