LinQ to sql简介及增删改查
Linq to sql 类 LinQ它就是一个集成化的数据库访问类,它会自动生成许多原本需要我们自己创建的东西;
它和ADO.NET是一样的东西,都是为了访问数据库而出现的,EF框架
一、创建LinQ类
1.在创建号的网站项目上右击添加,添加一个LinQ SQL类(图1)
2.点选服务器资源管理器,点击左上小插头图标,弹出连接数据库页面,将页面中的信息填写,点击确定按钮(图2)
3.左侧列表中出现在填写连接数据库页面时所选择的数据库,选择其中要使用的表,用鼠标按住直接拖到右侧空白区,完成实体类自动封装(图3)
注:用LinQ连接数据库时,选择的表必须设有主键,否则读取不到
图1 :

图2:

图3:

二、LinQ数据库操作类的写法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// StudentData 的摘要说明
/// </summary>
public class StudentData
{
DataStudentDataContext con = null;
public StudentData()
{
con = new DataStudentDataContext();
} //查询学生表所有信息
public List<Student> selectAll()
{
List<Student> list = new List<Student>();
list = con.Student.ToList();//返回一个泛型集合
return list;
} //根据编号查询此编号学生的信息
public Student select(string code)
{
Student stu = new Student();
//查找学生表中编号为传过来的编号的信息,取第一条
stu = con.Student.Where(r => r.code == code).FirstOrDefault();
return stu;
} //向学生表中添加一条信息
public void insert(Student stu)
{
con.Student.InsertOnSubmit(stu);//将传过来的这条信息,添加到提交按钮
con.SubmitChanges();//执行添加方法
} //根据编号删除此学生的信息
public void dele(string code)
{
//先根据编号查询出要删除学生的信息
var stu = con.Student.Where(r => r.code == code).FirstOrDefault();
con.Student.DeleteOnSubmit(stu);//将这条信息放到删除方法里面
con.SubmitChanges();//执行这个删除方法 } //修改学生表中的信息
public void update(Student s)
{
//先通过编号查询出要修改的这条信息
var ss = con.Student.Where(r => r.code == s.code).FirstOrDefault();
//再将传过来的修改好的信息挨个赋值给这条信息的每一项
ss.code = s.code;
ss.name = s.name;
ss.sex = s.sex;
ss.birthday = s.birthday;
ss.score = s.score;
con.SubmitChanges();//执行这个方法; 注:写完方法一定要进行这一步执行才可以有效
}
}
三、LinQ封装实体类字段扩展
使用linq连接数据库,会自动封装实体类,无法在他封装好的代码中直接写字段扩展,但是,他封装的类是partial可以进行扩展的,在自动封装实体类时类名就是用的数据库使用的表名,所有自己创建一个同名的类,并且也是public partial可补充的,删掉原页面的构造函数,在创建的类中直接写字段扩展方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// Student 的摘要说明
/// </summary>
public partial class Student
{
public string sextr
{
get {
if (_sex != null)
{
return (bool)_sex ? "男" : "女";
}
else
{
return "无数据";
}
}
}
}
LinQ to sql简介及增删改查的更多相关文章
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- Linq to SQL 简单的增删改操作
Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...
- 四种简单的sql语句(增删改查语句)
四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...
- dml语句就是你常写的sql语句,增删改查
dml语句就是你常写的sql语句,增删改查
- LinQ 创建连接、简单增删改查
LINQ--语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操 ...
- SQL总结之增删改查
SQL语句增删改查(总结) 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:ins ...
- 常见 SQL语句使用 增删改查
一.常见的增删改查(一).查:1.SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons: 2.SE ...
- python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作
pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...
- SQL -------- 简单的增删改查
sql 结构化查询语言,一种ansi 的标准计算机语言,为了访问数据库 可以做什么:可以对数据库 和表进行创建于删除, 对表里面的数据进行增删改查. 也可以创建存储过程和视图,对表设置权限 RDBM ...
随机推荐
- 「2017 山东一轮集训 Day5」距离
/* 写完开店再写这个题目顿时神清气爽, 腰也不疼了, 眼也不花了 首先考虑将询问拆开, 就是查询一些到根的链和点k的关系 根据我们开店的结论, 一个点集到一个定点的距离和可以分三部分算 那么就很简单 ...
- Python Twisted系列教程3:初步认识Twisted
作者:dave@http://krondo.com/our-eye-beams-begin-to-twist/ 译者:杨晓伟(采用意译) 可以从这里从头开始阅读这个系列. 用twisted的方式实现前 ...
- (转)利用 SVG 和 CSS3 实现有趣的边框动画
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- StanFord ML 笔记 第一部分
本章节内容: 1.学习的种类及举例 2.线性回归,拟合一次函数 3.线性回归的方法: A.梯度下降法--->>>批量梯度下降.随机梯度下降 B.局部线性回归 C.用概率证明损失函数( ...
- 20165205 学习基础与C语言基础调查
学习基础和C语言基础调查 从<做中学>学到的经验 首先,在老师的这几篇文章中,最核心的一片文章就是<做中学>这一篇了,在文章中强调了不断联系的重要性,然后在学以致用的过程中发现 ...
- 浮动ip原理及简单实现
原理:https://blog.csdn.net/readiay/article/details/53538085 简单实现:https://www.cnblogs.com/victorwu/p/70 ...
- 17.docker及scrapy-splash安装-1
docker 安装网址: https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 这就安装成功了!!!
- while循环、break、continue
我们通过while循环让python循环进行操作 break 跳出整个循环 continue 终止当前循环并不再继续往下执行,回到开头开始继续循环 下面会详细解释一下,例如: 1 a = 1 2 wh ...
- Callable和Future 多线程
参考:https://www.cnblogs.com/fengsehng/p/6048609.html
- Swoole 内存操作(Table)
使用: //实例化表格,参数 int : 最大行数 $table = new swoole_table(1024); //设置表格字段 参数 (字段名:string , 字段类型:int.float. ...