.NET使用DAO.NET实体类模型操作数据库
一、新建项目
打开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实体类模型操作数据库的更多相关文章
- Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态
Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) ...
- 关于mysql下hibernate实体类字段与数据库关键字冲突的问题
好久没写了,都忘记博客了,趁着现在还在公司,写的东西是经过验证的,不是在家凭记忆力写的,正确率有保障,就说说最近遇到的一件事情吧. 以前一直用的oracle数据库,这次项目我负责的模块所在的系统是用的 ...
- Django中的模型(操作数据库)
目录 Django配置连接数据库 在Django中操作数据库 原生SQL语句操作数据库 ORM模型操作数据库 增删改查 后台管理 使用后台管理数据库 模型是数据唯一而且准确的信息来源.它包含您正在储存 ...
- Mybatis实体类属性与数据库字段不一致解决办法
例如:实体类 String userName 数据库:name 解决办法一: 通过给字段加别名,别名写成实体类属性一 eg:select name userName from student ...
- Qt 学习之路 2(56):使用模型操作数据库
Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...
- 重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不 ...
- Mybatis中实体类属性与数据库列表间映射方法介绍
这篇文章主要介绍了Mybatis中实体类属性与数据列表间映射方法介绍,一共四种方法方法,供大家参考. Mybatis不像Hibernate中那么自动化,通过@Co ...
- EntityFrameworkCore 根据实体类自动创建数据库
1.首先新建 Asp.Net Core WebApi 项目 2.添加一下引用 : 2.1 Pomelo.EntityFrameworkCore.MySql(我用的Mysql 根据自己情况引用就行) ...
- IntelliJ IDEA 2017版 spring-boot 实现jpa基本部署,通过实体类自动建立数据库
一.添加Spring Boot JPA-Hibernate步骤 1.在pom.xml添加mysql,spring-data-jpa依赖 2.在application.properties文件 ...
随机推荐
- lazy ideas in programming(编程中的惰性思想)
lazy形容词,懒惰的,毫无疑问是一个贬义词.但是,对于计算机领域,lazy却是非常重要的优化思想:把任务推迟到必须的时刻,好处是避免重复计算,甚至不计算.本文的目的是抛砖引玉,总结一些编程中的laz ...
- Linux常用基础命令
一.系统目录结构 约定俗成: bin (binaries)存放二进制可执行文件 sbin (super user binaries)存放二进制可执行文件,只有root才能访问 etc (e ...
- P1373 小a和uim之大逃离
转自:http://www.cnblogs.com/CtsNevermore/p/6028138.html 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一 ...
- video视频铺满
1. 因项目需求,要在公司官网加一段视频,达到的效果是视频平铺整个网页,大小随网页变化:网上找了许久才找了了这么一个生僻的属性,只需给video加这么个样式就可以了:object-fit: fill; ...
- Echarts后台封装option对象
该方法返回的keyword指向了前台负责图表显示的jsp页面 public String keyword() { if(this.dateNum == null || this.dateNum.equ ...
- [CSS 混合模式]——mix-blend-mode/background-blend-mode简介
mix-blend-mode/background-blend-mode CSS3真是有很多的神奇的地方,这个两个元素你知道吗? 这是张大大拿过来的图,关于混合模式,借图一用. mix-blend-m ...
- python爬虫(二)_HTTP的请求和响应
HTTP和HTTPS HTTP(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收HTML页面的方法 HTTPS(HyperText Transfer Prot ...
- Android开发之漫漫长途 Ⅷ——Android Binder(也许是最容易理解的)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- 使用.Net Core+EF7 CodeFirst(2)
上一篇的话,说了下怎么使用EF7 实现 CodeFirst去生成数据库, 其实还有好多问题的,这次一点一点的解决吧,都挺简单,不过零零散散的,, 1.读取配置文件,获得链接字符串 2.使用数据库进行增 ...
- poj 1797 Heavy Transportation(最大生成树)
poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...