简体   繁体   中英

Replacing DbContext in Microsoft MVC Individual User Accounts Template

I just created my first MVC Website. To avoid having to program the controller myself, I am using the Individual User Accounts template from Microsoft.

I know, that this template uses the Entity Framework to create an express database to persist the user/account data.

Since I already have a database, which I want to use, I want to change the template so it uses the DbContext for said database.

I was able to change the connectionString, so that the tables of the template got created in my database. But I don't want it to create it's own tables but use my already created tables.

Is there any easy way to achieve this?

Or should I just write the whole account/user controller from scratch myself?

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

    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM