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

初级

我正在尝试学习ASP.NET MVC。对于我的基本问题,我事先表示歉意。

我在尝试使用模型类创建数据库时遇到问题。

这是我到目前为止所做的

我在“模型”文件夹下创建了一个模型类,如下所示

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace ScripterEngine.Models
{
    public class Campaign
    {
        public int id { get; set; }
        public string name { get; set; }
        public string layout { get; set; }
        public string call_list_connection { get; set; }
        public string call_list_table_name { get; set; }
        public string status { get; set; }
        public string intro_url { get; set; }
        public string use_transfer { get; set; }
        public string route_callback_to { get; set; }
        public string call_list_database_name { get; set; }
        public DateTime created_at { get; set; }
        public DateTime modified_at { get; set; }

        //Initilize the default value
        public Campaign()
        {
            status = "Active";
            use_transfer = "No";
            route_callback_to = "Self"; 
        }

    }
}

然后,在新创建的名为“ DataAccessLayer”的文件夹中创建了Campaign Context类,如下所示

using ScripterEngine.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace ScripterEngine.DataAccessLayer
{
    public class CampaignContext : DbContext
    {
        public DbSet<Campaign> Campaign { get; set; }

        public CampaignContext() : base("con1")
        {

        }
    }
}

然后,在新创建的名为“ Seeders”的文件夹中创建了一个初始化器类,以将虚拟数据添加到表中,如下所示

using ScripterEngine.Models;
using ScripterEngine.DataAccessLayer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ScripterEngine.Seeders
{
    public class CampaignSeeder : System.Data.Entity.DropCreateDatabaseIfModelChanges<CampaignContext>
    {

        protected override void Seed(CampaignContext context)
        {
            var campaigns = new List<Campaign>
            {
                new Campaign 
                {
                    id = 1,
                    name = "Ahold Landline",
                    layout = "topmenu",
                    call_list_table_name = "foo",
                    call_list_database_name = "bar",
                },
                new Campaign 
                {
                    id = 2,
                    name = "Ahold Cellphone",
                    layout = "topmenu",
                    call_list_table_name = "foo",
                    call_list_database_name = "bar",
                }
            };

            foreach (var campaign in campaigns)
            {
                context.Campaign.Add(campaign);
            }

            context.SaveChanges();

        }

    }
}

最后,我在Web.config中添加了连接字符串和contaxt块

  //I want the database table to be in the App_Data folder
  <connectionStrings>
    <add name="con1" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=dbtest;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\dbtest.mdf" providerName="System.Data.SqlClient"/>
  </connectionStrings>

和conext块

   <contexts>
      <context type="ScripterEngine.DataAccessLayer.CampaignContext" disableDatabaseInitialization="false">
        <databaseInitializer type="ScripterEngine.Seeders.CampaignSeeder" />
      </context>
    </contexts>

但是表没有被创建?我需要触发一些东西来生成表格吗?我无法创建表格在做什么呢?

此外,我试图了解组织应用程序的正确方法。为每个模型都有一个单独的上下文类是正确的还是为每个模型都应该有一个上下文类?换句话说,上下文类应该代表表还是数据库本身?

谢谢

捕捞

您可以使用程序包管理控制台执行以下命令:

enable-migrations

add-migration Initial

update-database

这将启用代码优先方法的迁移。然后创建数据库脚本以基于dbcontext设置数据库。然后根据先前创建的迁移脚本更新数据库(并运行种子)。

链接更详细地显示

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Asp.Net MVC 5身份创建数据库管理界面

来自分类Dev

Asp.Net MVC 5身份创建数据库管理界面

来自分类Dev

使用 asp.net mvc 5 为数据库创建 Web 界面

来自分类Dev

如何将ado.net数据库连接到ASP.Net MVC 5

来自分类Dev

如何将ado.net数据库连接到ASP.Net MVC 5

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何从数据库(ASP.NET MVC5)中删除具有迁移约束的列

来自分类Dev

如何将ASP.Net MVC 5 CheckBoxList HTTPPost到数据库

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Asp.Net MVC 5中实现多个数据库的最佳实践是什么?

来自分类Dev

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

来自分类Dev

在ASP.NET MVC 5中将图像添加到数据库

来自分类Dev

ASP.NET MVC5-将用户保留在Oracle数据库中

来自分类Dev

ASP.NET MVC 5在Oracle数据库中存储身份用户

来自分类Dev

根据asp.net mvc5中数据库的值设置下拉列表的值

来自分类Dev

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

来自分类Dev

我在一个视图中混合了创建视图和索引视图代码。因此,如何在asp.net MVC4中通过该视图从数据库检索数据?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何从ASP.NET MVC 5中的模型创建表单?

来自分类Dev

代码优先在数据库(ASP.NET MVC)中添加默认字段值

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    Asp.Net MVC 5身份创建数据库管理界面

  4. 4

    Asp.Net MVC 5身份创建数据库管理界面

  5. 5

    使用 asp.net mvc 5 为数据库创建 Web 界面

  6. 6

    如何将ado.net数据库连接到ASP.Net MVC 5

  7. 7

    如何将ado.net数据库连接到ASP.Net MVC 5

  8. 8

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

  9. 9

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

  10. 10

    如何从数据库(ASP.NET MVC5)中删除具有迁移约束的列

  11. 11

    如何将ASP.Net MVC 5 CheckBoxList HTTPPost到数据库

  12. 12

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

  13. 13

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

  14. 14

    在Asp.Net MVC 5中实现多个数据库的最佳实践是什么?

  15. 15

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

  16. 16

    在ASP.NET MVC 5中将图像添加到数据库

  17. 17

    ASP.NET MVC5-将用户保留在Oracle数据库中

  18. 18

    ASP.NET MVC 5在Oracle数据库中存储身份用户

  19. 19

    根据asp.net mvc5中数据库的值设置下拉列表的值

  20. 20

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

  21. 21

    我在一个视图中混合了创建视图和索引视图代码。因此,如何在asp.net MVC4中通过该视图从数据库检索数据?

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

    如何从ASP.NET MVC 5中的模型创建表单?

  28. 28

    代码优先在数据库(ASP.NET MVC)中添加默认字段值

  29. 29

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

热门标签

归档