代码改变世界

EF设计模式之code first

2019-03-22 19:40  .net小跟班(杜)  阅读(368)  评论(0编辑  收藏  举报

为了支持以设计为中心的开发流程,EF推出了以代码为中心的模式code first。我们称之为代码优先开发,代码优先的开发支持更加优美的开发流程,允许在不使用设计器或者定义一个XML映射文件的情况下进行开发。对数据库的操作不需要通过sql语句完成。

在MVC中使用code first

1、添加引用EntityFramework.dll和针对于sql server数据库的EntityFarmework.SqlServer.dll文件

2、在Web.config文件中添加数据库连接字符串

 

3、数据访问层指向配置文件

namespace DAL
{
    public class MyContent:DbContext
    {
        public MyContent() : base("name=XXX")
        {

        }
        public DbSet<StudentInfo> stu { get; set; }
    }
}

4、实现数据操作

public class StudentDal : IDataServer<StudentInfo>
    {
        MyContent myc = new MyContent();
        public int Create(StudentInfo t)
        {
            myc.stu.Add(t);
            return myc.SaveChanges();
        }

        public int Delete(int id)
        {
            var stu = myc.stu.Where(m=>m.Id==id).FirstOrDefault();
            myc.Entry(stu).State = System.Data.Entity.EntityState.Deleted;
            return myc.SaveChanges();
        }

        public List<StudentInfo> GetAll()
        {
            return myc.stu.ToList();
        }

        public StudentInfo GetAllById(int id)
        {
            return myc.stu.Where(m => m.Id == id).FirstOrDefault();
        }

        public int Update(StudentInfo t)
        {
            myc.Entry(t).State = System.Data.Entity.EntityState.Modified;
            return myc.SaveChanges();
        }
    }