asp.net-mvc - 如何防止在不做种的情况下重新创建我的数据库?

标签 asp.net-mvc database

我想防止我的程序在开发阶段每次运行调试器时删除数据库。我想在不进行通常的数据库播种的情况下执行此操作。由于我将使用导入和导出数据向导,因此我想使用这种方法来填充我的数据库。

有没有办法防止程序删除数据库?

以下是更多信息,希望对您有所帮助:

我的初始化程序

DropCreateDatabaseIfModelChanges<SchoolInDB>
{

    protected override void Seed(SchoolInDB context)
    {

        context.Parents.Add(new Parent { Name = "Mary Lawson", Phone = "949-999-9999", Notes = "Please see IEP " });


        base.Seed(context);


    }

}

我的应用程序启动

protected void Application_Start()
    {
     System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseAlways<SchoolIn.Models.SchoolInDB>()); 

        AreaRegistration.RegisterAllAreas();
        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }

我的数据库上下文

public class SchoolInDB : DbContext
{
    public DbSet<Course> Courses { get; set; }
    public DbSet<Teacher> Teachers { get; set; }
    public DbSet<Parent> Parents { get; set; }
    public DbSet<PdfReport> PdfReports { get; set; }
    public DbSet<CourseProgress> CourseProgresses { get; set; }
    public DbSet<ParentContact> ParentContacts { get; set; }
    public DbSet<RedAlert> RedAlerts { get; set; }
    public DbSet<Student> Students { get; set; }
    public DbSet<Assignment> Assignments { get; set; }


}

我的连接字符串

<connectionStrings>
<add name="ApplicationServices"
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
    providerName="System.Data.SqlClient" />

我想我想避免使用 SetInitializer 来 DropCreateDatabaseAlways 并仅加载数据库,无论模型是否更改。我将使用导入和导出向导来填充数据库。

感谢您的帮助!

最佳答案

I guess I want to avoid using the SetInitializer to DropCreateDatabaseAlways and just load the database whether the models changes or not. I'll be using the Import and Export Wizard to populate the database

所以不要调用SetInitializer。只需使用连接字符串打开数据库即可。顺便说一句,DropCreateDatabaseIfModelChanges 顾名思义,仅在架构更改时删除/创建数据库。

这就是传统数据库最初的工作原理。

关于asp.net-mvc - 如何防止在不做种的情况下重新创建我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9447550/

相关文章:

c# - 自动倒计时调整数据库记录

database - 如何使用 DB2 SQL 将 DECFLOAT 更改为 INT?

php - 本地机器 SQL DB 工作; Web dB 上的访问被拒绝错误

mysql - 如何更改Xampp上的mysql数据库目录?

c# - 如何在.net core 中安排一个方法?

asp.net-mvc - 为Orchard创建一个模块,用于存储前端数据

javascript - 无法将html表数据绑定(bind)到mvc Controller 模型

asp.net-mvc - 在 Controller 之间传递 TempData

c# - 部分 View 不工作的 MVC3 Ajax 表单验证

Swift Realm 将预取对象保存到新对象中