.net – 使用Model First方法时如何种子数据?
发布时间:2020-12-15 18:30:29 所属栏目:asp.Net 来源:网络整理
导读:所以我正在学习MVC3和EF4。 我尝试了代码第一种方法,但对我来说太混乱了。我可以创建类没有问题,但是处理外键和彼此之间的关系时,硬件部分来了。 但是我已经和模特儿一起去了。这样我可以直观地设计它,看看关系在哪里。 在创建模型之后,它会为我创建一
所以我正在学习MVC3和EF4。
我尝试了代码第一种方法,但对我来说太混乱了。我可以创建类没有问题,但是处理外键和彼此之间的关系时,硬件部分来了。 但是我已经和模特儿一起去了。这样我可以直观地设计它,看看关系在哪里。 在创建模型之后,它会为我创建一个针对我的SQL,这对我的SQL Express数据库执行。完成并完成 现在我想要我的表中的数据。当然,我可以把它们添加到使用服务器浏览器中,但很可能我会在我的模型中进行更改。并不断更新数据库。所以我不能手动输入数据。我知道如果您使用代码,您可以导出DropCreateDatabaseIfModelChanges并覆盖种子方法。 但是,如何使用模型第一种方法来做到这一点? public class DatabaseInitializer : IDatabaseInitializer<BettingContext> { public void InitializeDatabase(BettingContext context) { var teams = new List<Team> { new Team { Name="Toronto Maple Leafs",League="NHL"},new Team { Name="Boston Bruins",new Team { Name="Vancouver Canucks",new Team { Name="Nashville Predators",new Team { Name="Montreal Canadiens",}; } } 当然和在我的全球文件: protected void Application_Start() { Database.SetInitializer<BettingContext>(new DatabaseInitializer()); AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); } 那么现在怎么办?如何告诉它运行方法?我究竟做错了什么? 解决方法
你可以有这样的东西:
public class MySeedData : DropCreateDatabaseIfModelChanges<YourDataBaseContextClass> { protected override void Seed(YourDataBaseContextClass context) { // Create objects here and add them to your context DBSets... } } public class YourDataBaseContextClass : DbContext { } 然后,在Application_Start()中调用: Database.SetInitializer(new MySeedData()); 在您的情况下,您可以尝试手动创建DbSets(使用您的模型的第一类),并尝试使用上面的代码将其插入。它是一个模型第一代码的混合。 public class FourthCoffeeWebContext : DbContext { public DbSet<Category> Categories { get; set; } public DbSet<Product> Products { get; set; } } 添加到:CreateDatabaseIfNotExists<(Of <(<‘TContext>)>)> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 使用复杂类型嵌套对象的bind属性include和e
- 在基本控制器中覆盖ASP.NET MVC中的OnAuthorization
- asp.net-mvc-4 – 使用导航路由的ASP.NET,Twitter.Bootstra
- asp.net – 如何将其他页面包含到aspx文件中
- asp.net-mvc – nhibernate:具有相同标识符值的不同对象已
- asp.net – 多个客户端应该有一个项目副本,还是每个客户端都
- asp.net-mvc-4 – MVC4和MVCContrib
- asp.net-mvc – 如何清除ASP.NET MVC应用程序中文本框的发布
- asp.net-mvc – 获取文件内容的绝对路径
- ASP.NET缓存的方法和最佳实践
推荐文章
站长推荐
- asp.net-mvc-3 – 如何正确使用RedirectToAction
- asp.net-mvc – 向RouteValueDictionary添加复杂
- asp.net-web-api – 使用WebAPI PUT / POST请求启
- asp.net core高级EF Core2.0数据模型设计创建
- asp.net – 允许远程访问IIS 7.5
- asp.net-mvc – 与Microsoft HTTP Client Librar
- asp.net-mvc – Mvc – 在会话中存储列表,然后检
- asp.net-mvc – Visual studio 2015 CE intellis
- asp.net奇怪的异常每隔三分钟左右
- asp.net – 在运行时更改元素的CSS类
热点阅读