C# 在Microsoft MVC个人用户帐户模板中替换DbContext

C# 在Microsoft MVC个人用户帐户模板中替换DbContext,c#,asp.net-mvc,entity-framework,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,我刚刚创建了我的第一个MVC网站。 为了避免自己对控制器进行编程,我使用了Microsoft的“个人用户帐户”模板 我知道,该模板使用实体框架创建一个express数据库来持久化用户/帐户数据 因为我已经有了一个我想使用的数据库,所以我想更改 模板,以便使用所述数据库的DbContext 我能够更改connectionString,以便在数据库中创建模板的表。但我不希望它创建自己的表,而是使用我已经创建的表 有什么简单的方法可以做到这一点吗 或者我应该自己从头开始编写整个帐户/用户控制器吗?//

我刚刚创建了我的第一个MVC网站。 为了避免自己对控制器进行编程,我使用了Microsoft的“个人用户帐户”模板

我知道,该模板使用实体框架创建一个express数据库来持久化用户/帐户数据

因为我已经有了一个我想使用的数据库,所以我想更改 模板,以便使用所述数据库的DbContext

我能够更改connectionString,以便在数据库中创建模板的表。但我不希望它创建自己的表,而是使用我已经创建的表

有什么简单的方法可以做到这一点吗

或者我应该自己从头开始编写整个帐户/用户控制器吗?

//这是它实现DbContext的DbContext类的一个示例
// This is an example of DbContext class  it implements DbContext
// If you do not use constructor(s) then the expectation by entity framework
// will be that your name of your connectionstring in web.config 
// or app.config is name name as your class  so e.g.  "YourContext",                        
// otherwise   "Name="YourConnectionString"
public class YourContext : DbContext
{
    // constructor as you wish /want 
    public YourContext(string nameOrConnectionString)
        : base(nameOrConnectionString)
        { }  

    // critical mapping 
    public DbSet<someModel> someModel { get; set; }

    // critical overide 
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        // critical key to NOT let your database get dropped or created etc...
        Database.SetInitializer<YourContext>(null);

        // This is an example of mapping model to table 
        // and also showing use of a schema ( dbo  or another )
        modelBuilder.Entity<someModel>().ToTable("someTable", schemaName: "dbo");

    }
}
//如果不使用构造函数,则“实体预期”框架 //将是web.config中连接字符串的名称 //或者app.config是类的名称,例如“YourContext”, //否则“Name=“YourConnectionString” 公共类YourContext:DbContext { //如你所愿 公共YourContext(字符串名称或连接字符串) :base(名称或连接字符串) { } //临界映射 公共数据库集someModel{get;set;} //临界溢位 模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder) { //关键键,以防止数据库被删除或创建等。。。 Database.SetInitializer(null); //这是一个将模型映射到表的示例 //以及显示模式(dbo或其他)的使用 modelBuilder.Entity().ToTable(“someTable”,schemaName:“dbo”); } }
尝试以下操作:
但我不希望它创建自己的表,而是使用我已经创建的表
请参见下面的答案
数据库。SetInitializer(null);