ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

巴热斯

我的问题在于缺乏MVC经验。基本上,我在DB -Person -Offer中有两个表

我为每个模型创建了一个模型,一个控制器和一个模型,因此结构如下所示:

public class Offer
{
    public int OfferID { get; set; }
    public string OfferTitle { get; set; }
    public string State { get; set; }
    public string Description { get; set; }
}

public class OfferDBContext : DbContext
{
    public DbSet<Offer> Offers { get; set; }
}

这是报价模型。

public class Person
{
    public int PersonID { get; set; }
    public string Username { get; set; }
    public DateTime Birthday { get; set; }
    public string Education { get; set; }
    public string Email { get; set; }
}

public class PersonDBContext : DbContext
{
    public DbSet<Person> Persons { get; set; }
}

这是个人模型。

首先,我创建了Person模型,将其添加到db中没有任何问题。然后,我想添加Offer表,并且不得不使用DropCreateDatabaseIfModelChanges方法。我将其用于OfferInitializer和PersonInitializer,然后有Global.asax.cs文件

protected void Application_Start()
{
    Database.SetInitializer<OfferDBContext>(new OfferInitializer());
    Database.SetInitializer<PersonDBContext>(new PersonInitializer());

    //Database.SetInitializer<PersonDBContext>(new PersonInitializer());

    AreaRegistration.RegisterAllAreas();

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
}

据我了解,我不能仅仅因为我两次删除数据库,而一次只填充一个表,所以不能做到这一点。如何重新组织所有内容,以便一次可以填充两个或多个表,也可以填充整个数据库?

米海·丁库列斯库(Mihai Dinculescu)

首先,您不应该DbContext为每个表创建单独的类。相反,您应该将所有内容放到DbSets同一位置DbContext这样做将大大简化您的工作。

其次,您应该使用migrations您应该在项目的早期就开始使用它们。

您可以使用程序包管理控制台进行代码优先迁移。

enable-migrations

确切地顾名思义。初始化项目中的迁移。这将在项目内部创建一个文件夹并生成所需的文件。

add-migration InitialCreate

这将创建一个迁移。InitialCreate实际上是一个字符串,您可以将其更改为所需的任何字符串。该命令将生成从strach创建数据库所需的脚本。

update-database

此命令验证数据库并应用所需的迁移(或多个迁移-可以有多个迁移)以使数据库保持最新状态。

这是初始设置。如果您对第一个代码类进行了进一步更改,或者添加了更多类,则只需添加一个新迁移,然后执行它即可。

add-migration AddedFirstName
update-database

就这么简单!

有一些更高级的概念,例如种子,回滚,对特定迁移的更新等,但是我上面键入的内容涵盖了迁移的基础知识和日常使用。

我建议您阅读这篇文章,其中详细介绍了所有内容:http : //www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment在ASP.NET MVC应用程序中使用实体框架

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

来自分类Dev

如何从ASP.NET MVC 5中的代码创建数据库?

来自分类Dev

使用EF6将文档存储在数据库ASP.NET MVC5中-代码优先

来自分类Dev

如何使用asp.net mvc检查数据库中是否存在重复数据

来自分类Dev

如何在ASP Net MVC 3中运行迁移

来自分类Dev

使用ASP.NET MVC更新数据库

来自分类Dev

如何在ASP.NET MVC 5 Razor数据库中更新表

来自分类Dev

如何在ASP.NET MVC和Azure中连接到数据库?

来自分类Dev

如何从ASP.NET WebAPI MVC中的多个数据库获取数据

来自分类Dev

如何在asp.net mvc中使用Linq从数据库中删除多个记录

来自分类Dev

从ASP.NET MVC中的现有数据库生成种子代码

来自分类Dev

从ASP.NET MVC中的现有数据库生成种子代码

来自分类Dev

从asp.net mvc中的数据库表填充radiobuttonlist

来自分类Dev

在asp net core实体框架mvc中从数据库绑定菜单和子菜单

来自分类Dev

如何在ASP.NET MVC 4中从数据库填充下拉列表

来自分类Dev

ASP.NET MVC如何处理数据库中的动态日期时间格式

来自分类Dev

如何基于特定值查询数据库中的列MVC ASP.NET Core

来自分类Dev

如何使用ASP.NET MVC将数据从数据库导出到Excel工作表?

来自分类Dev

在ASP.NET MVC 5中使用视图模型或数据库模型

来自分类Dev

使用数据库上下文在ASP.NET MVC中删除操作

来自分类Dev

使用ASP.NET MVC将图像存储在数据库中

来自分类Dev

ASP.NET MVC默认身份模型与自己的实体框架代码合并,首先是mssql数据库

来自分类Dev

如果来自两个不同数据库表的2个数据值在ASP.NET MVC 4中相等,如何有条件地向ViewData.Model添加列表?

来自分类Dev

在ASP.Net MVC中管理数据库连接

来自分类Dev

ASP.NET MVC 3数据库上下文查询

来自分类Dev

实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

来自分类Dev

如何首先在ASP.NET MVC中将Identity与Entity Framework数据库一起使用

来自分类Dev

在ASP.net MVC中使用Entity Framework创建模型时,如何在单个视图中从两个表调用数据

来自分类Dev

绑定模型中的两个表-ASP.NET MVC Razor

Related 相关文章

  1. 1

    ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

  2. 2

    如何从ASP.NET MVC 5中的代码创建数据库?

  3. 3

    使用EF6将文档存储在数据库ASP.NET MVC5中-代码优先

  4. 4

    如何使用asp.net mvc检查数据库中是否存在重复数据

  5. 5

    如何在ASP Net MVC 3中运行迁移

  6. 6

    使用ASP.NET MVC更新数据库

  7. 7

    如何在ASP.NET MVC 5 Razor数据库中更新表

  8. 8

    如何在ASP.NET MVC和Azure中连接到数据库?

  9. 9

    如何从ASP.NET WebAPI MVC中的多个数据库获取数据

  10. 10

    如何在asp.net mvc中使用Linq从数据库中删除多个记录

  11. 11

    从ASP.NET MVC中的现有数据库生成种子代码

  12. 12

    从ASP.NET MVC中的现有数据库生成种子代码

  13. 13

    从asp.net mvc中的数据库表填充radiobuttonlist

  14. 14

    在asp net core实体框架mvc中从数据库绑定菜单和子菜单

  15. 15

    如何在ASP.NET MVC 4中从数据库填充下拉列表

  16. 16

    ASP.NET MVC如何处理数据库中的动态日期时间格式

  17. 17

    如何基于特定值查询数据库中的列MVC ASP.NET Core

  18. 18

    如何使用ASP.NET MVC将数据从数据库导出到Excel工作表?

  19. 19

    在ASP.NET MVC 5中使用视图模型或数据库模型

  20. 20

    使用数据库上下文在ASP.NET MVC中删除操作

  21. 21

    使用ASP.NET MVC将图像存储在数据库中

  22. 22

    ASP.NET MVC默认身份模型与自己的实体框架代码合并,首先是mssql数据库

  23. 23

    如果来自两个不同数据库表的2个数据值在ASP.NET MVC 4中相等,如何有条件地向ViewData.Model添加列表?

  24. 24

    在ASP.Net MVC中管理数据库连接

  25. 25

    ASP.NET MVC 3数据库上下文查询

  26. 26

    实体框架7将现有数据库表转换为asp.net mvc中的代码第一类6

  27. 27

    如何首先在ASP.NET MVC中将Identity与Entity Framework数据库一起使用

  28. 28

    在ASP.net MVC中使用Entity Framework创建模型时,如何在单个视图中从两个表调用数据

  29. 29

    绑定模型中的两个表-ASP.NET MVC Razor

热门标签

归档