LINQ之增删改查

前言:

LINQ,语言集成查询(LanguageIntegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及order by(C#中)。使用这些操作符可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型。

开始学习LinQ总是抱着一种感觉自己很虚的心情,做项目了,结果还要临时学习新的内容:PD、EF、LINQ、MongDB。难道是之前学的东西都没有用呢?就抱着这样的疑问,问师傅们。加上今天米老师的讲课。才明白了什么是即学式。平时学习是在培养一种能力,等到了真正做项目的时候,让你学什么都可以从容的去接受说:恩,对我来说很简单,五天学习四样东西也是可以接受的。

就以LINQ为例来说,对于入门者来说,马上就要上手项目,那么学习的目的性十分的明确。既然可以用来代替SQL语句,显然先去了解它的增删改查是首先要做的。从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及order by(C#中)。使用这些操作符可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型。其实看看这些高大上的查询操作符,和我们当初写的SQL语句是一样的。只不过是顺序有变化而已。

LINQ增删改:

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Common;
namespace FirstLinq
{
    public partial class _Default : Page
    {

        NorthwindDataContext ctx = new NorthwindDataContext("Data Source=.;Initial Catalog=linq;Persist Security Info=True;User ID=sa;Password=123456");
        protected void Page_Load(object sender, EventArgs e)
        {
            //Linq1();
            //Linq2();
            Linq3();
        }
        /// <summary>
        /// 增删改查
        /// </summary>
        private void Linq3()
        {
            //增
            t_User user = new t_User();
            user.ID = 1;
            user.UserName = "周洲";
            user.Pwd = "11111";
            ctx.t_User.InsertOnSubmit(user);
            ctx.SubmitChanges();

            //改
            t_User userUpdate = ctx.t_User.SingleOrDefault(t_User => t_User.ID == 0);
            userUpdate.UserName = "周洲改名字";
            ctx.SubmitChanges();

            //删
            t_User userDelete = (from userinfo in ctx.t_User where userinfo.ID == 1 select userinfo).FirstOrDefault();
            if (userDelete != null)
            {
                ctx.t_User.DeleteOnSubmit(userDelete);
                ctx.SubmitChanges();
            }
        }</span>

LING查:

        /// <summary>
        /// 熟悉Linq to sql语法
        /// </summary>
        private void Linq2()
        {
            Customers customer = new Customers();

            //执行普通的sql语句,查询CustomerID="ANATR"的记录
            IEnumerable<Customers> customers = ctx.ExecuteQuery<Customers>("select * from Customers where CustomerID='ANATR'");
            customer = customers.First();
            Response.Write(customer.CustomerID);

            //使用Linq查询单条记录
            var cus = from c in ctx.Customers where c.CustomerID.Equals("ANATR") select c;
            customer = cus.First();
            Response.Write(customer.CompanyName);

            //查询结果集,语法:from 临时表名 in 表集合 orderby 临时表名.字段名 升级序 select 临时表名
            gdvCustomers.DataSource = from cust in ctx.Customers where cust.CustomerID != "ANATR" orderby cust.CompanyName descending select cust;
            gdvCustomers.DataBind();
        }

小结:

LINQ的原理其实挺简单,LINQ像是把面向对象和关系型数据模型结合了起来。这样的一种技术就把数据真正映射成一个对象,方便去操作和管理。你再也不必去根据不同的情况用字符串拼接的办法生成SQL语句,而是专心于对象模型的处理即可,这些方法层面的操作都会被转换成对应的增删改查语句,在submit的时候全部转到数据库中。总而言之,linq to sql是一个数据库到对象结构的一个中间层,
他把对关系数据的管理转变为对象的操作,屏蔽了麻烦的sql,而且,还可以得到vs强大的智能感知功能的帮助。

时间: 2024-08-10 17:08:51

LINQ之增删改查的相关文章

LinQ的增删改查

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据. 高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名. 1.LinQ创建 Linq文件是dbml结尾,一个数据库对应一个Linq文件主外键 (1)首先表格要有主外键关系 (2)添加新项 LinQ to SQL类 ,起名为数据库名字 (3)服务器资源

Linq基础增删改查

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

用LINQ方法增删改查

//Func<string, string> fc = delegate(string a) //{ // a += "你好"; // return a; //}; //MessageBox.Show(fc("5").ToString()); DataClasses1DataContext context = new DataClasses1DataContext(); //List<bread> list = context.bread.W

linQ!!增删改查 好用!

linq:增删改查 数据库访问技术: ADO.net EF框架 LinQ LinQ是一种高集成化的数据库访问技术,他将数据库中的表映射成程序中的类 数据库的表名变成类名 数据库的列名变成字段名/属性名 所有的操作都是通过LinQ自动生成的一个上下文对象来进行操作的,这个对象名是LinQ的名字+"DataContext" ,一个数据库对应一个LinQ 1.创建LinQ 在项目上右键,添加一个LinQ to SQL 然后点击服务器资源管理器,选择小插头样式的连接到数据库 正确填写需要连接的

linq的创建 和 数据的增删改查

1.linq创建之前,一定要在sql做好数据表的主外键关系. 2.linq文件是以.dbml结尾,一般一个数据库的名字就是一个linq的名字 3,以实例来演示增删改查 数据库的名字为linq,里面有两个表Users(UserName,Password,Sex,NickName,Birthday,Nation)和Nation(NationCode,NationName) (1)创建名为linq的linq. 创建完之后啥也不用改,如果需要在重新封装类和数据扩展,那就想以前重新建立Users和User

Webform(Linq增删改查)

Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数据库名一样 Linq文件是dbml结尾,一个数据库对应一个Linq文件(2)数据库连接打开服务器资源管理器,点击下图黄圈内按钮,连接到数据库,弹出添加连接对话框,填写服务器名(.),选择使用什么身份验证,然后您要连接的数据库,然后将您要用的数据库拉到类中. (3)数据扩展 新建一个部分类(关键字:p

LinQ 创建连接、简单增删改查

LINQ--语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据. 创建连接: 添加新项→LinQ to sql类→重命名为需要用的数据库名→服务器资源管理器→连接到数据库→填写服务器名.用户名密码.连接到数据库的名称→从数据连接中要到要引用的表拖进 数据库名.dbml 中 增删改查表达式 查询: 新建类:数据访问类,添加方法: Data0617Dat

Linq to sql 增删改查(转帖)

代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Syst

利用LINQ to SQL 增删改查本地数据库

C#新人,博客园第一篇博文,希望大家多多指教. 最近趁项目空隙,学习了LINQ,其强大高效易读的数据操作方式令人印象深刻.特别是LINQ to SQL,让用户可以像操作内存对象一样操作SQL数据库.在阅读了<深入理解c#>和参考以下四篇博文后,自己摸索,完成了创建本地SQL数据库和数据表,VS连接数据库,到利用LINQ to SQL增删改查数据库表中信息. SQL服务器安装:http://www.downcc.com/tech/4135.html SQL数据库和数据表格创建:http://bl