.Net Core建站(1):EF Core+CodeFirst数据库生成

工具准备:

工具:VS2017

环境:.Net Core 2.0 ,EF7

这里因为刚学习,自己遇到的坑:Powershell2.0升级3.0问题,下载安装包安装完成后重新电脑就好了。

https://www.microsoft.com/zh-CN/download/details.aspx?id=40855

 

1,我们需要的是建一个解决方案,一个类库项目,以及一个Web项目

 1:修改DBCodeFirst类库项目结构,手动新增了一个DateBase文件,在Models类库下新增了一个DataTable文件,放数据实体类DT_User

2:在Models项目的工程文件(*.csproj)里面去了,要写的代码如下(注意后续所遇到的版本问题红色标注)

   <ItemGroup>
     <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
     <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1" />
   </ItemGroup>

3:DBCodeFirst的内容如下:

public class DBCoreFirst : DbContext
    {
        public DBCoreFirst() : base()
        {

        }

        public DBCoreFirst(DbContextOptions<DBCoreFirst> options)
            : base(options)
        {

        }

        override protected void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);
        }

        #region 数据表

        public DbSet<DT_User> DT_User { get; set; }

        #endregion

    }

4:实体DT_User的代码内容:

 public class DT_User
    {
        /// <summary>
        /// 默认int类型ID为主键
        /// 必须有一个字段为主键,不然会报错
        /// </summary>
        public int ID { get; set; }
        public string UserName { get; set; }
    }

这里要注意ASP.NET Core的版本选择,后面NuGet包管理=>程序包管理控制台,添加依赖时的注意版本问题

1:在WebFront项目的工程文件(*.csproj)里面去了,要写的代码如下(注意版本问题红色标注)

   <ItemGroup>
     <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
     <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1" />
   </ItemGroup>

2:添加项目引用Models

3:修改Startup.cs类,新增数据库链接

 

1:然后我们在设置一下项目启动项:设置WebFront为项目启动项

2:执行命令“Add-Migration DBLog”

执行成功后Models会多出的生成文件DBlog

然后我们在执行命令:“Update-DataBase”,成功后我们查看数据库会自动生成数据库“DBFrist”和我们新增的实体表DT_User表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值