MVC实战之排球计分(六)—— 使用EF框架,创建Controller,生成数据库。
在上篇博客我们写到,此软件的数据库连接我们使用的是EF框架,code first模式下,
通过模型类,在创建controller的时候直接生成数据库,完成数据库的连接,与操作。
在使用EF框架之前,我们需要写好模型类。然后在创建controller。
此软件目前需要两个模型类,在之前的博客中,我们已经设计,和完成了模型类,这时候
我们只需把代码拿过来就可以使用了。
两个模型类分别是:
GzScore,cs:
public class GZScore{public int ID { get; set; }[DisplayName("队伍名称")]public string teamName { get; set; }[DisplayName("队员号码")]public string num { get; set; }[DisplayName("发球得分")]public int faqiu{ get; set; }[DisplayName("扣球得分")]public int kouqiu { get; set; }[DisplayName("拦网得分")]public int langwang { get; set; }[DisplayName("助攻得分")]public int zhugong{ get; set; }[DisplayName("队伍总分")]public int totalscore { get; set; }}public class gDBContext : DbContext{public DbSet<GZScore> Students { get; set; }}
Player.cs:
public class Players{public int ID { get; set; }[DisplayName("发球得分")]public int faqiu { get; set; }[DisplayName("扣球得分")]public int kouqiu { get; set; }[DisplayName("拦网得分")]public int langwang { get; set; }[DisplayName("助攻得分")]public int zhugong { get; set; }[DisplayName("个人优点")]public string youdian { get; set; }[DisplayName("失误")]public string shiwu { get; set; }[DisplayName("总结")]public string zongjie { get; set; }}public class pDBContext : DbContext{public DbSet<Players> player { get; set; }}
当完成两个模型类的时候。我们需要对软件进行一下生成,右键单击项目,然后选择生成,
(也可以使用快捷键:Ctrl+shift+b来生成)然后观察右下角是否生成成功。
(此项操作很重要。不生成,在后续操作中可能会找不到模型类)
在完成模型类后,这时候我们就可以通过创建controller 来进行数据库的 连接了。
右键单击controller 文件夹,点击添加,添加控制器,控制器名字改写为:GuanZhongController
模板选择:包含读写操作的和视图的MVC,
模型类选择刚才创建的模型类:GZScore (VolleyBall.Models),数据上下文类选择:gDBContext (VolleyBall.Models)
具体操作如图:
填写完全后,点击添加。
选择添加后,系统会自动帮我们生成,controller的视图控制代码;
具体代码如下:
public class GuanZhongController : Controller
{
private gDBContext db = new gDBContext();
//
// GET: /GuanZhong/
public ActionResult Index()
{
return View(db.Students.ToList());
}
//
// GET: /GuanZhong/Details/5
public ActionResult Details(int id = 0)
{
GZScore gzscore = db.Students.Find(id);
if (gzscore == null)
{
return HttpNotFound();
}
return View(gzscore);
}
//
// GET: /GuanZhong/Create
public ActionResult Create()
{
return View();
}
//
// POST: /GuanZhong/Create
[HttpPost]
public ActionResult Create(GZScore gzscore)
{
if (ModelState.IsValid)
{
db.Students.Add(gzscore);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(gzscore);
}
//
// GET: /GuanZhong/Edit/5
public ActionResult Edit(int id = 0)
{
GZScore gzscore = db.Students.Find(id);
if (gzscore == null)
{
return HttpNotFound();
}
return View(gzscore);
}
//
// POST: /GuanZhong/Edit/5
[HttpPost]
public ActionResult Edit(GZScore gzscore)
{
if (ModelState.IsValid)
{
db.Entry(gzscore).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(gzscore);
}
//
// GET: /GuanZhong/Delete/5
public ActionResult Delete(int id = 0)
{
GZScore gzscore = db.Students.Find(id);
if (gzscore == null)
{
return HttpNotFound();
}
return View(gzscore);
}
//
// POST: /GuanZhong/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
GZScore gzscore = db.Students.Find(id);
db.Students.Remove(gzscore);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
当我们添加控制器后,系统还会自动给我们在视图问文件夹下生成该控制器
的视图文件夹,并产生五个对数据操作的视图;
如图文件夹的位置与文件:
我们可以清楚的看到系统为我们生成的文件。然后我们可以对这些文件做操作;
到这里,我们就使用EF框架,完成了通过模型类,然后创建controller,进行数据库的连接,与访问。
在使用EF框架的情况下,数据库的连接是非常方便和好用的。不过在某些方面,这个框架使用起来
也是很麻烦的,在这里我就不再多叙述。
完成了数据库的连接,软件的实现也快要完成了,在下篇博客中,将要对软件进行最后的完成,
并进行对软件的功能的使用与测试。这篇博客就到这里了。
转载于:https://www.cnblogs.com/Angel-szl/p/7055805.html
MVC实战之排球计分(六)—— 使用EF框架,创建Controller,生成数据库。相关推荐
- EF使用CodeFirst方式生成数据库技巧经验
前言 EF已经发布很久了,也有越来越多的人在使用EF.如果你已经能够非常熟练的使用EF的功能,那么就不需要看了.本文意在将自己使用EF的方式记录下来备忘,也是为了给刚刚入门的同学一些指导.看完此文,你 ...
- C# 的EF框架怎么连接Oracle数据库
安装odp.net ODP.NET你不需要安装Oracle,不需要配置oracle.key文件,不需要配置TnsNames.Ora文件 不需要配置环境变量:完全的傻瓜式的在没有安装oracle数据库或 ...
- 排球计分程序(三)—— 模型类的设计与实现
通过EF框架设计模型生成数据图和表: 1)添加运动员模型类: namespace 排球计分程序.Models { public class Ball { public ...
- EF框架你了解多少?
[EF框架的认识] EF教程视频大全 一. EF简介 ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Con ...
- EF框架-SQL语句 增加 删除
在EF框架中,进行数据库的增删操作也是非常的方便. 增加 这里的添加一条信息 特别的简单,节省很多事情,直接通过使用EF的方法Add然后放入相应的实体对象就行 public int InsertCus ...
- Swift实战-豆瓣电台(六)视图跳转,传参及回跳
原文:Swift实战-豆瓣电台(六)视图跳转,传参及回跳 youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelCo ...
- Cempi实战攻略(六)——如何截获到达的短消息
Cempi实战攻略(六)--如何截获到达的短消息 By 吴春雷 QQ:819543772 EMAIL:wuchunlei@163.com 1. MapiRule是什么?我从哪里能够得到它? ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理(附源码)
前言目录 前言:时间很快,已经快到春节的时间了,这段时间由于生病,博客基本没更新,所以今天写一下我们做的一个项目吧,是对权限的基本操作的操作,代码也就不怎么说了,直接上传源码和图片展示,下面我们直接进 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据 ...
最新文章
- 怎么读取java文件,Java怎么读取文件
- SMO学习笔记(二)——还原(恢复)篇之完整恢复
- KeyWordHelper-关键字提取类(注:使用第三方组件DictSeg.dll)
- Cassandra 的数据存储结构——本质是SortedMapRowKey, SortedMapColumnKey, ColumnValue
- 关于fseek和文件ab+打开方式的问题
- 神策数据助力海通证券,精耕 4 大场景,全面强化数字化运营
- 不借助 Fiori client,直接在手机浏览器里调用 SAP UI5 BarcodeScanner 实现条形码扫描的可能性?
- 立即表达式的多种写法与注意点以及in操作符的作用
- Cocos2d-x一张小背景重复贴图充满整个屏幕
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_18、SpringBoot测试进阶高级篇之MockMvc讲解...
- aspectjweaver:关于Spring注解AOP的注意点
- JAVA一个汉字占多少字节,一个字母占多少字节
- java的duplicate用法_Java ByteBuffer duplicate()用法及代码示例
- ubuntu 配置登录失败次数限制
- width mismatch when connecting input pin '/processing system 7_0/irq_f2p'(2) to net 'xlconcat_0_dout
- 微信小程序animation
- PHP修改图片上的文字,怎么用ps改图片上的字
- 【FFmpeg学习】H264 视频码流分析
- 电信运营商工程项目管理
- Lightroom人像磨皮滤镜插件portraiture Mac版
热门文章
- 前端遇到瓶颈怎么办?我来告诉你
- 话题:什么是前端工程化?
- 【C语言】在线OJ题 BC72-BC87-牛客网编程初学者入门训练
- mysql没有实体框架_NET实体框架数据库更新未在MySQL数据库中创...
- Java教程:Java String字符串和整型int的相互转换
- c if标签怎么用android,android – 使用NDK将YUV解码为C/C++中的RGB
- lua 差值 日期_lua时间戳和日期转换及踩坑
- chart控件做实时曲线显示_「Qt」利用QChart实现实时动态的曲线数据展示(进化版)
- python的else_Python3 if...elseif...else语句
- 计算机硬盘驱动器越大,计算机基础知识1.3摘要.doc