Linq 增删改查
数据库访问技术:
ADO.net
EF框架
LinQ
LinQ是一种高集成化的数据库访问技术,他将数据库中的表映射成程序中的类
数据库的表名变成类名
数据库的列名变成字段名/属性名
所有的操作都是通过LinQ自动生成的一个上下文对象来进行操作的,这个对象名是LinQ的名字+"DataContext" ,一个数据库对应一个LinQ
去除数据访问类的简便开发方式
使用LinQ时,可以不写数据访问类,直接在程序用调用,这样既省时间,也节省内存
使用方法:using(实例化上下文对象){}
using (Data0928DataContext con = new Data0928DataContext())
{
Repeater1.DataSource = con.Users.ToList();
Repeater1.DataBind();
}
查询、条件查询
普通查询:查询全部只需一句代码
con.Users.Tolist();
条件查询:需要使用Lambda表达式
注意:不管结果有几条数据,返回的都是集合,使用FirstOrDefault取第一个值,并且如果为空不会报错,会返回null
Users u = con.Users.Where(r => r.ids == ids1).FirstOrDefault();
删除
删除方法需要一个对象,需要先通过条件查询查出此对象才能进行删除,并且需要SubmitChanges方法才是正式执行方法
con.Users.DeleteOnSubmit(con.Users.Where(r => r.ids == ids1).FirstOrDefault());
con.SubmitChanges();
修改
修改不需要想ADO.net中那样需要写很长的字符串,只需要查出需要修改的对象,对这个对象的属性直接修改,修改完毕执行SubmitChanges方法提交即可
Users u = con.Users.Where(r => r.UserName == username.Text).FirstOrDefault();
u.PassWord = password.Text;
u.NickName = nickname.Text;
if (RadioButton1.Checked)
u.Sex = true;
else
u.Sex = false;
u.Birthday = Convert.ToDateTime(birthday.Text);
u.Nation = DropDownList1.SelectedValue;
u.Class = DropDownList2.SelectedValue;
try
{
con.SubmitChanges();
Response.Redirect("Index.aspx");
}
catch {
Label1.Text = "修改失败!";
}
属性扩展
VS允许用户对LinQ生成的实体类进行扩展,只需要创建一个跟实体类相同名的类,写上partial,即可在此类里面写自己需要的属性。
直接在LinQ生成的文件中写也有效,但是如果对LinQ执行任何修改,哪怕只是拖动一下界面的表位置,也会导致代码重新生成,这样自己写进去的属性扩展就会消失,所以只能通过新建一个同名partial类进行添加
public partial class Users
{
public string SexStr
{
get
{
string end = "空";
if (this._Sex != null)
{
end = Convert.ToBoolean(this._Sex) ? "images/man.png" : "images/woman.png";
}
return end;
}
}
public string NationName
{
get
{
return Nation1.NationName;
}
} public string ClassName
{
get
{
return Class1.ClassName;
}
}
}
Linq 增删改查的更多相关文章
- Webform(Linq增删改查)
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数 ...
- linq的简单增删改查
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- linq的创建 和 数据的增删改查
1.linq创建之前,一定要在sql做好数据表的主外键关系. 2.linq文件是以.dbml结尾,一般一个数据库的名字就是一个linq的名字 3,以实例来演示增删改查 数据库的名字为linq,里面有两 ...
- Linq 数据库操作(增删改查)
Linq数据库增删改查 Linq是一种查询语言,集成包含在formwork中,包含在C#语言中,它的作用是降低查询的门槛,提高开发效率,是我们必须掌握的技术之一,下面是我自己对linq数据库操作的方法 ...
- LinQ 创建连接、简单增删改查
LINQ--语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操 ...
- Linq to sql 增删改查(转帖)
http://blog.csdn.net/pan_junbiao/article/details/7015633 (LINQ To SQL 语法及实例大全) 代码 Code highlightin ...
- C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展
LinQ-语言集成查询(Language Integrated Query) 高集成化的数据库访问技术 LINQ 2 SQL 实际是将数据库的表映射成程序中的类 会把数据库的表名原封不动的变成类名 数 ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
随机推荐
- dom 绑定数据
一.绑定/修改 .jQuery修改属性值,都是在内存中进行的,并不会修改 DOM 1. 对象绑定 $(selector).data(name) $("#form").da ...
- C语言位域解析&符号位扩展规则
从一个例子说起: int main(void){ union{ int i; struct{ ; ; ; }bits; }num; printf("Input an integer for ...
- 关于QT的QPainterPath::arcTo 详解
这个函数文档的意思就是画弧,看了文档也不太明白,自己做了demo终于明白了意思 移动到圆心,画180度半圆 void TestArcTo::paintEvent(QPaintEvent *) { QP ...
- [.NET开发] C# BigInteger 处理超大整型数字
今天遇到一个要处理XSD中Integer的数值区间的计算的问题,Integer这个类型的值区间理论上是可没有边界的,假设目前的值是1.5E+10000, 这个数字已经达到double和Int64都无法 ...
- English trip -- MC(情景课)3 D
xu言: have a nice weekend... sentences How many people are there in you family? they are 3 people in ...
- Mycat配置入门
配置: --bin 启动目录 --conf 配置文件存放配置文件: --server.xml:是Mycat服务器参数调整和用户授权的配置文件. --schema.xml:是逻辑库定义和表以及分片定义的 ...
- 20161212xlVBA文本文件多列合并
Sub NextSeven_CodeFrame() '应用程序设置 Application.ScreenUpdating = False Application.DisplayAlerts = Fal ...
- Coconuts, Revisited(递推+枚举+模拟)
Description The short story titled Coconuts, by Ben Ames Williams, appeared in the Saturday Evening ...
- JAVA计算文件的crc32校验码
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...
- 自定义Spark Partitioner提升es-hadoop Bulk效率
http://www.jianshu.com/p/cccc56e39429/comments/2022782 和 https://github.com/elastic/elasticsearch-ha ...