替换Microsoft MVC个人帐户模板中的DbContext

时间:2016-03-30 14:11:23

标签: c# asp.net-mvc entity-framework asp.net-mvc-5

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

我知道,此模板使用实体框架创建快速数据库以保留用户/帐户数据。

由于我已经拥有了一个我想使用的数据库,我想改变它 模板,所以它使用DbContext为所述数据库。

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

有没有简单的方法来实现这个目标?

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

1 个答案:

答案 0 :(得分:0)

// 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");

    }
}