为了支持以设计为中心的开发流程,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(); } }