我刚创建了我的第一个MVC网站。 为避免必须自己编程控制器,我使用的是Microsoft的个人用户帐户模板。
我知道,此模板使用实体框架创建快速数据库以保留用户/帐户数据。
由于我已经拥有了一个我想使用的数据库,我想改变它 模板,所以它使用DbContext为所述数据库。
我能够更改connectionString,以便在我的数据库中创建模板的表。但是我不想让它创建它自己的表,而是使用我已创建的表。
有没有简单的方法来实现这个目标?
或者我应该自己从头开始编写整个帐户/用户控制器?
答案 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");
}
}