.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文件 ...
随机推荐
- MySQL .msi 安装失败改用.zip安装步骤
一开始官网下载.msi安装包,安装到配置server时无法启动,长时间卡在这里,无法继续下去.上网看了一下解决办法,发现用.zip安装包进行安装比较简单可靠. 一.利用.msi安装包安装失败后的处理 ...
- Foundation框架中日期的操作
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSDate *date1=[NSD ...
- <meta http-equiv="X-UA-Compatible" content="IE=edge">的作用
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的. X-UA-Compatible 是针对 IE8 版本的一个特殊文件头标记,用于为 IE8 指定不同的页面渲 ...
- HDU 1394 逆序数 线段树单点跟新 | 暴力
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- CCF-201403-1-相反数
问题描述 试题编号: 201403-1 试题名称: 相反数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反 ...
- POJ3191-The Moronic Cowmpouter
The Moronic Cowmpouter Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4006 Accepted: ...
- (高级篇)php结合redis实现高并发下的抢购、秒杀功能
抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存 ...
- spring boot与jdbcTemplate的整合案例2
简单入门了spring boot后,接下来写写跟数据库打交道的案例.博文采用spring的jdbcTemplate工具类与数据库打交道. 下面是搭建的springbootJDBC的项目的总体架构图: ...
- 二叉树的递归遍历 The Falling Leaves UVa 699
题意:对于每一棵树,每一个结点都有它的水平位置,左子结点在根节点的水平位置-1,右子节点在根节点的位置+1,从左至右输出每个水平位置的节点之和 解题思路:由于上题所示的遍历方式如同二叉树的前序遍历,与 ...
- html标签对应的英文原文 - 司徒正美
标签 对应英文 说明 <!--> / 注释 <!DOCTYPE> document type 文档类型 <a> anchor 超链接 <abbr> ab ...