zoukankan      html  css  js  c++  java
  • EF code first 数据模型创建数据库

    首先:工具-NuGet包管理器-程序包管理器控制台,输入  Install-package EntityFramework  ,安装EF环境

    创建表:

    新建类,比如名为student ,命名空间:using System.ComponentModel.DataAnnotations; 表中内容为

     public class student
        {
            [Key]
            [Required]
            public int id { get; set; }
            public string name { get; set; }
        }

    新建上下文类:比如名为studentcontext,命名空间:using System.Data.Entity; 表中内容为

     public class studentcontext:DbContext
        {
            public studentcontext() : base("studentcontext") { }
            public DbSet<student> students { get; set; }
    
        }

    然后再App.config配置文件中:

      <connectionStrings>
        <add name="studentcontext" connectionString="Data Source=.;Initial Catalog=MySite;Persist Security Info=True;User ID=sa;Password=123" providerName="System.Data.SqlClient" />
      </connectionStrings>

    最后在program main函数中:

    using(studentcontext st=new studentcontext())
                {
                    student s = new student();
                    st.students.Add(s);
                    st.SaveChanges();
                }

    启动、执行,打开迁移 Enable-Migrations

    此时数据库已创建完成,并自动创建Migrations文件夹,文件夹内有两个类文件;

    ---------------------------------

    添加列:以增加 pwd 列为例

    在student类表中,新增结构;

    执行 Add-Migration studentpwd               //后面为表名+列名

    执行 Update-Database

    ---------------------------------

    删除列:以删除 pwd 列为例

    在student类表中,删去索要删的结构;

    执行 Add-Migration Delstudentpwd                      //Del+表名+列名

    执行 Update-Database

    ----------------------------------

    修改列:将age修改为nick为例

    在student类表中,修改结构;

    执行 Add-Migration Renamenick                      //Modify+修改后的列名

    得到迁移cs文件:并改为

     public override void Up()
            {
                //AddColumn("dbo.students", "nick", c => c.String());
                //DropColumn("dbo.students", "age");
                RenameColumn("dbo.students", "age", "nick");
            }
            
            public override void Down()
            {
                //AddColumn("dbo.students", "age", c => c.Int(nullable: false));
                //DropColumn("dbo.students", "nick");
                RenameColumn("dbo.students", "nick", "age");
            }

    执行 Update-Database

     ---------------------------------

    设置主外键:

    主键表中添加:

    public virtual ICollection<bag> stu{ get; set; }  //bag为外键表名

    外键表中:

     public virtual student stu{ get; set; }
  • 相关阅读:
    【0726 | Day 2】编程语言分类/主流编程语言介绍/网络的瓶颈效应
    【0725 | Day 1】计算机编程/计算机组成原理/计算机操作系统
    windows下vue-cli及webpack 构建网站(一)环境安装
    HBuilder 做移动端app流程
    vuejs 学习旅程之 vue-resource
    vuejs 学习旅程一
    身心合一
    td 内容自动换行 table表格td设置宽度后文字太多自动换行
    PhpStorm 2017汉化补丁 2017.1 免费中文版
    PHPStorm2017.1.3永久激活方法之本地破解激活
  • 原文地址:https://www.cnblogs.com/m110/p/8602728.html
Copyright © 2011-2022 走看看