Entity Framework学习记录

记录一次ef code first的学习记录

最近想做一套自己的框架,正在寻找合适的ORM,之前参照力软(很早之前的版本了)的底层代码,做了一套自己的增删改查,

但是使用起来总觉得缺了点什么?

所以决心找一个成熟的ORM框架,学习搭建,发现一下自己的不足

对了Nhibernate,Entity Framework以及SqlSugar等轻量级的框架,最后选择了Entity Framework(毕竟微软大厂,跟着大厂走)

1,首先新建一个项目,winform,mvc,控制台都可以,新建以后使用nuget按照entityframework,我目前装的是6.2的版本

2,创建model、数据库上下文类、

base("name=MyStrConn")是定义在webconfig中的数据库链接
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    public enum SexType { Male, Female }

    public class Person
    {
        [Key]
        public string PersonId { get; set; }
        //姓名
        public string Name { get; set; }
        //性别
        public SexType Sex { get; set; }
        //年龄
        public int Age { get; set; }

        public Person(string personId, string name, SexType sex, int age)
        {
            PersonId = personId;
            Name = name;
            Sex = sex;
            Age = age;
        }
    }
}
using System.Data.Entity;


namespace ConsoleApp1
{
    public class MyDbContext : DbContext
    {

        public MyDbContext() : base("name=MyStrConn")
        {
        }
        public DbSet Persons { get; set; }
        }
    }
}

3.在程序包管理控制台中运行如下命令(运行前先编译下项目)

  Enable-Migrations          表是启用数据库更改

  Add-Migration InitialCreate    将更改提交到集合

  Update-Database -Verbose   将更改同步到数据库表结构

 

4.这样数据库就根据我们建立的model创建了一个数据库和表Persons

5.插入一条数据到数据库表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new MyDbContext())
            {
                Person person = new Person("1001", "张三", SexType.Female, 26);
                db.Persons.Add(person);
                Student stu = new Student("001", "软件工程", "蓝翔", "1000", "XXX", SexType.Female, 25);
                db.Persons.Add(stu);
                db.SaveChanges();
                Console.WriteLine("Success");

            }
            Console.ReadLine();
        }
    }
}

 

你可能感兴趣的:(Entity Framework学习记录)