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 ...
随机推荐
- bzoj2555 substring(LCT 后缀自动机)
/* 动态求right集合的大小 LCT维护parent树即可 注意 由于树是有向的不会换根并且每次操作单一, 于是不需要维护子树和(写起来很麻烦) 直接打标记修改即可 */ #include< ...
- Codeforces Round #493 (Div. 1)
A. /* 发现每次反转或者消除都会减少一段0 当0只有一段时只能消除 这样判断一下就行 */ #include<cstdio> #include<algorithm> #in ...
- 微信小程序获取用户信息
App({ appData: { userInfo:{ user_portraitUrl: "", user_nick: "", user_gender: 0, ...
- day6--面向对象初识
一面向过程与面向对象 面向过程: 流水线式的思维,顺着流程进行下去,类似于代码的堆叠,重视步骤 优点:不需要考虑太多东西,想到一个功能就写一个功能,堆叠代码 缺点:过程往往是先后执行的,要想变换功能或 ...
- kafka-confluent管控中心安装
https://www.confluent.io/ 一个基于kafka的扩展平台,我们主要关注其管控中心. 由于监控中心只有企业版才有,所以下载企业版,并进行测试. 进入下载中心,可以看到两个版本: ...
- C++动态时间显示
#include <iostream> #include<stdlib.h> #include<windows.h> #include<string> ...
- PHP截取字符串最后一位进行替换
$image_path = 'http://www.baidu.com/1'; $str = preg_replace('#.$#i', '0', $image_path);第二个参数要替换的内容 把 ...
- centos使用记
20180404:今天在笔记本上安装了centos6.9,第一次安装的7.4时进不了安装界面,后来下载了6.9版的,可以安装.安装完后启动时出现fail reg的错误,然后提示登陆,不知是用户名为:r ...
- linux驱动开发第一步hello
先查看Ubuntu的版本 cat /etc/issue lin@lin-virtual-machine:~$ cat /etc/issue Ubuntu 12.04 LTS \n \l 或者使用 li ...
- 机器学习入门-文本数据-构造词频词袋模型 1.re.sub(进行字符串的替换) 2.nltk.corpus.stopwords.words(获得停用词表) 3.nltk.WordPunctTokenizer(对字符串进行分词操作) 4.np.vectorize(对函数进行向量化) 5. CountVectorizer(构建词频的词袋模型)
函数说明: 1. re.sub(r'[^a-zA-Z0-9\s]', repl='', sting=string) 用于进行字符串的替换,这里我们用来去除标点符号 参数说明:r'[^a-zA-Z0- ...