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 ...
随机推荐
- 如何用两块硬盘做磁盘阵列的教程Raid 1
如今,市面上的大部分服务器都自带有阵列卡.只要有两块以上硬盘,我们就可以利用服务器自带的阵列卡做磁盘阵列.Raid 1 为例.Raid 1 是磁盘阵列的其中一个系列,将两块硬盘构成磁盘阵列,可以保证数 ...
- mysql定时备份
1.创建备份DB的脚本 python版本的脚本 db_backup.py import os password='df' os.system('mysqldump -uroot -p{} fwss & ...
- Spring MVC开启注解
1.在spring的配置文件中配置:<context:annotation-config />该项配置只能应用于已经注册的bean,比较难用,不深究. 2.在spring的配置文件中使用c ...
- js获取前几天的时间及时间区间
/** * 以startDate为开始日期,计算时隔days天之后 的日期区间 * @param startDate 开始日期 * @param days 时间间隔天数 */ function get ...
- spring mvc 跨域问题。。。解决
官方推荐方式: http://spring.io/blog/2015/06/08/cors-support-in-spring-framework 方式1: $.ajax({ //前台:常规写法.注意 ...
- Java课程作业之动手动脑(二)
纯随机数发生器 编写一个方法,使用以下算法生成指定数目(比如1000个)的随机整数. import java.util.Scanner; public class test { public stat ...
- js提高篇
1定义一个方法 function aa(){alert(this)} 对于浏览器 这只是一个方法,那么this是什么的,this理所当然是document对象了..也就是说 打页面定义的方法 都是do ...
- Flex+BlazeDS+java通信详细笔记
整了很长时间的通信,还是一直有一点问题.现在搞定了,记录一下,也跟有需求的同学们共享. 我重新把所有的过程再做一遍. 1新建Flex+BlazeDS+JAVA项目 右键.新建Flex项目 其中blaz ...
- LabelFunction 允许在显示数据以前进行处理
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- leetcode986
class Solution: def judgeIntersection(self,a:'Interval',b:'Interval'): #返回值1,bool类型,是否有交集:True-有交集,F ...