Entity Framework之DB First方式
2017-07-23 12:04
120 查看
EF(Entity Framework的简称,下同)有三种方式,分别是:DataBase First、 Model First和Code First。
下面是Db First的方式:
1. 数据库库中存在两个表,一个是专业表,一个学生表,一个学生只能属于一个专业:
View Code
添加学生时,报错如下:
于是在控制器中增加如下代码:
刷新页面:
编辑:
删除:
列表:
在MajorController中有介绍EF的两种更新方式
下面是Db First的方式:
1. 数据库库中存在两个表,一个是专业表,一个学生表,一个学生只能属于一个专业:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Zhong.Web.Models; namespace Zhong.Web.Controllers { public class StudentController : Controller { private EFDbEntities entities = new EFDbEntities(); // GET: Student public ActionResult Index() { var students = entities.T_Student.ToList(); return View(students); } // GET: Student/Details/5 public ActionResult Details(int id) { var student = entities.T_Student.Find(id); return View(student); } // GET: Student/Create public ActionResult Create() { ViewData["MajorId"] = entities.T_Major.Select(m => new SelectListItem { Text = m.Name, Value = m.Id.ToString() }); return View(); } // POST: Student/Create [HttpPost] public ActionResult Create(T_Student entity) { entities.T_Student.Add(entity); entities.SaveChanges(); return RedirectToAction("Index"); } // GET: Student/Edit/5 public ActionResult Edit(int id) { var student = entities.T_Student.Find(id); ViewData["MajorId"] = entities.T_Major.Select(m => new SelectListItem { Text = m.Name, Value = m.Id.ToString() }); return View(student); } // POST: Student/Edit/5 [HttpPost] public ActionResult Edit(T_Student entity) { if (entity == null) { return Content("参数错误"); } entities.T_Student.Attach(entity); entities.Entry(entity).State = System.Data.Entity.EntityState.Modified; entities.SaveChanges(); return RedirectToAction("Index"); } // GET: Student/Delete/5 public ActionResult Delete(int id) { var student = entities.T_Student.Find(id); return View(student); } // POST: Student/Delete/5 [HttpPost] public ActionResult Delete(int id, FormCollection collection) { var student = entities.T_Student.Find(id); entities.T_Student.Remove(student); entities.SaveChanges(); return RedirectToAction("Index"); } } }
View Code
添加学生时,报错如下:
于是在控制器中增加如下代码:
刷新页面:
编辑:
删除:
列表:
在MajorController中有介绍EF的两种更新方式
相关文章推荐
- 使用EntityFramework6连接MySql数据库(db first方式)
- EF的DBFirst方式访问SQLite
- 在ASP.NET中使用SQL Server作为数据库,DB First方式使用EF(EntityFramework)进行开发和部署时的connectionString
- Entity Framework之DB First方式详解
- 使用EntityFramework6连接MySql数据库(db first方式)
- Entity Framework介绍和DBFirst开发方式
- ef DBfirst,修改代码生成文件,实现数据实体的继承
- 黑马程序员_学习日记76_801ASP.NET(ORM框架CRUD、EF ModelFirst编程方式、延迟加载机制)
- Oracle中使用Entity Framework 6.x Code-First方式开发
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
- 【EF】DBFirst数据库优先
- 一个支持DbFirst、ModelFirst和CodeFirst的数据库小工具DbTool
- $this->db->query($sql) 在一些php框架中,这种方式是怎么实现
- Entity Framework Model First下改变数据库脚本的生成方式
- Spring Batch之Sample(游标方式读写DB数据表)
- 如何在spring中配置使得mybatis3.1.1中支持vendor方式的multi-db(多数据库)
- postfix Install the appropriate db*-devel package first.
- C# 单文件与二进制互转数据库写入读出(上传文件二进制方式到DB中,下载DB中的二进制文件到本地)
- textarea输入内容存入DB方式,及在页面上的再表示
- [DB][mybatis]MyBatis mapper文件中的变量引用方式#{}与${}的差别