我无法刷新数据库模型。我使用的是Asp .net 5。
这是我所做的一个简短例子:
1.在" person.cs"中创建班级人员。文件,里面是"模型" 。目录
namespace MyWeb.Models
{
public class person
{
public int personID { get; set; }
public string login { get; set; }
public string password { get; set; }
public string name { get; set; }
public string surname { get; set; }
public DateTime dateOfBirth { get; set; }
}
}
2。在Models目录中创建myContext.cs文件。
namespace MyWeb.Models
{
public class myContext : DbContext
{
public DbSet<person> persons { get; set; }
}
}
3.在Models目录
中创建myInitializer.csnamespace MyWeb.Models
{
public class myInitializer :DropCreateDatabaseIfModelChanges<myContext>
{
protected override void Seed(myContext context)
{
var persons= new List<person>
{
new person{ login = "me", name = "meme", password = "abc", surname = "abc" },
new person{ login = "me2", name = "meme2", password = "abc2", surname = "abc2" }
};
foreach (var p in persons)
{
context.persons.Add(p);
}
context.SaveChanges();
}
}
}
4.Inside Global.asax.cs添加以下行= Database.SetInitializer(new myInitializer())
namespace MyWeb
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
Database.SetInitializer<myContext>(new myInitializer());
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
}
首次运行后,一切正常,数据库已创建,记录已添加到数据库,但是当模型已更改时,数据库不会重新加载。我在网上搜索这个但没有任何帮助。
如何刷新数据库模型?
答案 0 :(得分:1)
您可以在程序包管理器控制台中使用Enable-Migrations
命令,然后使用Add-Migration "description of changes"
,最后使用Update-Database