LinQ 基础

Linq to Sql:
      LINQ TO SQL是包含在.NET Framework 3.5 版中的一种 O/RM 组件(对象关系映射),O/RM 允许你使用 .NET 的类来对关系数据库进行建模。

数据库访问技术包括:      
   (1)ADO.NET(基础)
   (2)EF框架(集成)
   (3)Linq(微软高集成)

Linq:高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名

1、LinQ创建
   新建-选择Linq to Sql-服务器选择第一个按钮-填写数据库名、用户、密码-确定将要使用的表拖进界面中

Linq文件是dbml结尾,一个数据库对应一个Linq文件

操作:

1、增
   con.Users.InsertOnSubmit(u);
   con.SubmitChanges();
2、删
                //1先将对象查出来
                Users u = con.Users.Where(r => r.UserName == uname).FirstOrDefault();//第一条数据,没有即为空

//2删掉
                if (u != null)
                {
                  con.Users.DeleteOnSubmit(u);
                  con.SubmitChanges();//执行删除
                }

3、改
                //改和删都需要从数据库中读一次,创建对象能够认识这个对象
                Users uuu = con.Users.Where(r => r.UserName == u.UserName).FirstOrDefault();
                if (uuu != null)
                {
                 uuu.PassWord = u.PassWord;
                 uuu.NickName = u.NickName;
                 uuu.Sex = u.Sex;
                 uuu.Birthday = u.Birthday;
                 uuu.Nation = u.Nation;
                }

con.SubmitChanges();
  
4、查
         List<User> u = con.Users.ToList();

lambda表达式
con.Users.Where(r=>r.属性名==传入的值 [如果还有条件就需要&& ||]).FirstOrDefault();

时间: 2024-10-14 03:04:51

LinQ 基础的相关文章

LINQ基础(三)

一.并行LINQ System.Linq名称空间中包含的类ParallelEnumerable可以分解查询的工作,使其分布在多个线程上. 尽管Enumerable类给IEnumerable<T>接口定义了扩展方法,但ParallelEnumerable类的大多数扩展方法是ParallerQuery<TSource>类的扩展.例如,AsParallel()方法,它扩展了IEnumerable<T>接口,返回ParallelQuery<T>类,所以正常的集合类可

LINQ基础(二)

本文主要介绍LINQ查询操作符 LINQ查询为最常用的操作符定义了一个声明语法.还有许多查询操作符可用于Enumerable类. 下面的例子需要用到LINQ基础(一)(http://www.cnblogs.com/afei-24/p/6841361.html)的一些代码 1.筛选 LINQ查询使用where子句添加条件表达式来筛选,where子句可以合并多个表达式. var racers = from r in Formula1.GetChampions() where r.Wins>15 &

20.C#LINQ基础和简单使用(十一章11.1-11.2)

终于看到了第11章,之前虽然也有看过,但没有太仔细,在工作中也偶尔会使用,但不明白其中的原理,那现在就来讲讲LINQ,做一做书虫~~ 首先先了解下LINQ的三个要点: LINQ不能把非常复杂的查询表达式转换成一行代码 使用LINQ不意味着你从此不再需要使用SQL LINQ不可能魔法般地让你成为架构天才 序列是LINQ的基础,在你看到一个查询表达式的时候,应该要想到它所涉及的序列:一开始总是存在至少一个序列,且通常在中间过程会转换成其他序列,也可能和其他序列连接在一起. 1 class Car 2

2017-6-1 Linq 基础查询 (增删改查)

用小型人员管理系统的项目实战来练习linq的基础增删改查: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// users 的摘要说明 /// </summary> public partial class users { public string sexstr { get { return Convert.ToBoolean(

Linq基础语法详细

闲言碎语 近期比较忙,但还是想写点什么,就分享一些基础的知识给大家看吧,希望能帮助一些linq新手,如果有其它疑问,可以进右上角群,进行交流探讨,谢谢. 开门见山 读这篇文章之前,我先说下,每一种搜索结果集,我都以三种方式变现出来,为啦更好的理解,希望不要嫌我啰嗦. 1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3 string sssql =

linq基础

linq掌握(1.linq基本 2.lambda表达式 3.linq方法Select()/Where()/OrderBy()/GroupBy()  4.linq语句 5.理解查询语句与查询方法的关系 6.掌握各种高级查询方法 7.理解 LINQ to SQL )    命名空间:System.Linq;linq :  它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据.   语法:1) from 临时变量 in 实现IEnumerable<T>接口的对象     

Linq基础总结

隐式类型: 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型甚至在foreach一个集合的时候,也要为遍历的集合的元素,指定变量的类型隐式类型的出现,程序员就不用再做这个工作了. 匿名类型: 匿名类型是C#3.0提供的一个新的语法机制,它使用new操作符和匿名对象初始化器能够创建一个新的对象.这个新创建的对象就是一个匿名类型对象. 隐形数组: 隐形数组和匿名类型对象比较相似.                      隐形数组使用var关键字和数组初始化器创建,且数

【2017-06-01】Linq基础+Lambda表达式实现对数据库的增删改查

一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net.省去了自己敲代码的实体类和数据访问类的大量工作. 实体类: 添加一个Linq to sql 类 ----选择要使用的数据库---- 拖入要使用的表  就相当于实体类建完了. 如果进行属性扩展,在App_Code下添加类,类名同表名一致.将该类在访问修饰符后加上partial,将该类定为实体类的一部分 数据访问类: 不用在App_Code下再建数据访问类了. 直接在使用数据访问类的地方用数据库上下文

Linq基础增删改查

使用Linq时要注意一下问题:1.创建Linq连接后生成的dbml文件不要变动,生成的表不要碰,拖动表也会造成数据库连接发生变动,需要重新保存.2.属性拓展的使用:添加一个新的类,不要在dbml中添加属性拓展,一旦数据库变动,属性拓展类就会失效.3.使用Linq获取的数据都是?int,?string等?数据类型,意思是也有可能为空,这时候操作数据需要先把数据类型转化成int,string等数据类型. 在这里操作数据库用到了lambda表达式,是一种匿名函数,使用lambda表达式自动带有防攻击,