一、新建项目

打开vs2017,新建一个项目,命名为orm1

二、新建数据库

打开 SqlServer数据库,新建数据库 orm1,并新建表 student 。

三、新建 ADO.NET 实体数据模型

这里点击 新建连接,新建数据库连接。其实服务器名输入 . 代表本地服务器,身份验证选择默认的Windows身份认证。

选择我们的创建好的数据库 orm1 。

记住这里的连接名 orm1Entities ,后面写代码需要用到。

这里记得勾选表

点击完成就OK了,有可能会弹出下面的警告,点确定就好了。

最后出现下面这个视图,至此,创建 DAO.NET 实体类型模型成功。

现在点 VS 上面的生成,点重新生成项目。成功后控制台输入:

四、新建 aspx 文件

新建 aspx 文件 webform1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="orm1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
学号:<asp:TextBox ID="sid" runat="server"></asp:TextBox>
</div>
<div>
姓名:<asp:TextBox ID="sname" runat="server"></asp:TextBox>
</div>
<div>
年龄:<asp:TextBox ID="sage" runat="server"></asp:TextBox>
</div>
<div>
<asp:Button ID="Add" runat="server" Text="新增" OnClick="Add_Click" />
<asp:Button ID="Select" runat="server" Text="查询" OnClick="Select_Click" />
<asp:Button ID="Delete" runat="server" Text="删除" OnClick="Delete_Click" />
<asp:Button ID="Update" runat="server" Text="修改" OnClick="Update_Click" />
</div> <div>
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>
</form>
</body>
</html>

那么,现在我们就可以在 cs 文件写利用 Dao.NET 的实体类型模型操作数据库的代码了。

1. 显示所有

        void ShowAll()
{
var db = new orm1Entities();
GridView1.DataSource = db.Student.ToList();
GridView1.DataBind();
}

还记得 orm1Entities 吗?在新建实体类模型的时候是不是见过?

2. 查找数据

        protected void Select_Click(object sender, EventArgs e)
{
var db = new orm1Entities();
var item = db.Student.Where(M => M.sid == sid.Text).ToList();
GridView1.DataSource = item;
GridView1.DataBind();
}

其中,where中的M是任意字符。

3. 新增数据

        protected void Add_Click(object sender, EventArgs e)
{
var db = new orm1Entities();
var item = new Student
{
sid = sid.Text,
sname = sname.Text,
sage = int.Parse(sage.Text)
};
db.Student.Add(item);
db.SaveChanges();
ShowAll();
}

4. 删除数据

        protected void Delete_Click(object sender, EventArgs e)
{
var db = new orm1Entities();
var item = db.Student.Where(M => M.sid == sid.Text).FirstOrDefault();
if (item != null)
{
db.Student.Remove(item);
db.SaveChanges();
ShowAll();
}
else
{
Response.Write("没有此用户");
} }

5. 修改数据

        protected void Update_Click(object sender, EventArgs e)
{
var db = new orm1Entities();
var item = db.Student.Where(M => M.sid == sid.Text).FirstOrDefault();
if (item != null)
{
item.sname = sname.Text;
item.sage = int.Parse(sage.Text);
db.SaveChanges();
ShowAll();
}
else
{
Response.Write("没有此用户");
}
}

.NET使用DAO.NET实体类模型操作数据库的更多相关文章

  1. Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态

    Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) ...

  2. 关于mysql下hibernate实体类字段与数据库关键字冲突的问题

    好久没写了,都忘记博客了,趁着现在还在公司,写的东西是经过验证的,不是在家凭记忆力写的,正确率有保障,就说说最近遇到的一件事情吧. 以前一直用的oracle数据库,这次项目我负责的模块所在的系统是用的 ...

  3. Django中的模型(操作数据库)

    目录 Django配置连接数据库 在Django中操作数据库 原生SQL语句操作数据库 ORM模型操作数据库 增删改查 后台管理 使用后台管理数据库 模型是数据唯一而且准确的信息来源.它包含您正在储存 ...

  4. Mybatis实体类属性与数据库字段不一致解决办法

    例如:实体类  String userName     数据库:name 解决办法一: 通过给字段加别名,别名写成实体类属性一 eg:select name userName from student ...

  5. Qt 学习之路 2(56):使用模型操作数据库

    Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...

  6. 重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不 ...

  7. Mybatis中实体类属性与数据库列表间映射方法介绍

               这篇文章主要介绍了Mybatis中实体类属性与数据列表间映射方法介绍,一共四种方法方法,供大家参考.         Mybatis不像Hibernate中那么自动化,通过@Co ...

  8. EntityFrameworkCore 根据实体类自动创建数据库

    1.首先新建 Asp.Net Core WebApi 项目 2.添加一下引用 : 2.1   Pomelo.EntityFrameworkCore.MySql(我用的Mysql 根据自己情况引用就行) ...

  9. IntelliJ IDEA 2017版 spring-boot 实现jpa基本部署,通过实体类自动建立数据库

    一.添加Spring Boot JPA-Hibernate步骤 1.在pom.xml添加mysql,spring-data-jpa依赖      2.在application.properties文件 ...

随机推荐

  1. 永中DCS文档转换服务其它产品对比

    一.利用DCOM配置直接操作Office文件 作用:读取文件内容,导出Html文件 优势:免费 劣势:1.服务器上必须安装Office软件 2.配置麻烦,正如微软所说,读取Office不是这么干的. ...

  2. PHP随手记1--内置函数date

    1. date_default_timezone_set date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区 在php中只用 mktime() 函数时 ...

  3. 前端测试框架Jest系列教程 -- 简介

    写在前面: 随着互联网日新月异的发展,用户对于页面的美观度,流畅度以及各方面的体验有了更高的要求,我们的网页不再是简单的承载文字,图片等简单的信息传递给用户,我们需要的是更加美观的页面展示,更快的浏览 ...

  4. 完成你的第一个superMap示例

    1.从官网下载superMap安装包,我选择setup包 2.解压压缩文件后,按照readme指导书,运行setup.exe进行安装 解压后压缩包包含文件: 执行setup.exe进行安装,其中Sup ...

  5. TL-WR703Nv1.7刷写openwrt固件

    TP-LINK TL-WR703N是一个小型的路由器,可以有线转WiFi,3G转WiFi,很多人拿它刷openwrt系统,然后可以在上面各种搞事. V1.7以前 通常刷openwrt的做法是, 下载一 ...

  6. Nginx均衡TCP协议服务器案例

    Nginx在企业运维中通常用来均衡HTTP协议,例如我们熟知的80.8080.8081等服务.因为大部分的服务都是http请求访问协议,那有时候需要用到TCP协议,如果来实现均衡呢? 默认nginx不 ...

  7. Angular页面加载闪现解决方案 ng-cloak

    在做Angular项目时,经常会遇见在浏览器上闪烁表达式({{ express }} ),及模块(div)的闪烁,会闪现/闪烁隐藏的数据,之前用过vue.js,可以通过v-clock解决,同理Angu ...

  8. Python的字典

    1.  Python的字典 1.1.  字典的定义 在Python中,字典是一种key-value的数据类型,也是唯一的映射类型:字典还是另一种可变容器类型,且可存储任意类型对象,其中也可包括其他容器 ...

  9. let 和 const

    let命令 1.let命令只在所在的代码快内有效 { let a = 'hello world' console.log(a) //hello world } console.log(a) //Unc ...

  10. 【剑指Offer学习】【面试题50:树中两个结点的最低公共祖先】

    题目:求树中两个结点的最低公共祖先,此树不是二叉树,而且没有指向父节点的指针. 树的结点定义 private static class TreeNode { int val; List<Tree ...