Linq to SQL 简单增删改查

Linq to SQL 简单增删改查

用Linq大大减少了对数据库的一般操作所需的编码量。

运行下面事例之前,首先建一个叫做Alien的数据库表。

CREATE TABLE [dbo].[Aliens](
    [Id] [int] IDENTITY(1,1) NOT NULL primary key,
    [Name] [nchar](10) NULL,
)

建一个console项目,在项目里添加一个Linq To Sql类文件(.dbml以及两个附属文件),把Alien表从服务器资源管理器拖进来。然后就可以运行下面的代码了:

示例代码

using System;
using System.Linq;

namespace LearnLinqToSql
{
    class Program
    {
        static void Main(string[] args)
        {
            ForLearnDataContext db = new ForLearnDataContext();
            db.Log = Console.Out;

// Insert
            Alien et = new Alien { Name = "ET" };
            db.Alien.InsertOnSubmit(et);
            db.SubmitChanges();

// Update
            Alien toChange = db.Alien.Where(a => a.Name == "ET").First();
            toChange.Name = "DC";
            db.SubmitChanges();
            
            // Delete
            Alien dc = db.Alien.Where(a => a.Name == "DC").First();
            db.Alien.DeleteOnSubmit(et);
            db.SubmitChanges();

Console.WriteLine(et.GetHashCode());
            Console.WriteLine(toChange.GetHashCode());
            Console.WriteLine(dc.GetHashCode());
            db.Alien.InsertOnSubmit(et); // Error: Cannot add an entity that already exists.
        }
    }
}

通过上面示例可以感觉到,运行环境默默在本地维护了一套对象,在数据库端指向的是同一条记录,则在代码这端就是指向同一个实体的引用。

时间: 2024-08-03 16:15:31

Linq to SQL 简单增删改查的相关文章

Linq to SQL 的增删改查操作

Linq,全称Language Integrated Query,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中. Linq分为查询语法和方法语法,说白了查询语法就是 from where select ,而方法语法的基础操作需要用到lambda表达式 Form 选择数据源   Where 指定条件  Select 选择元素    lambda表达式中的 => 理解为 goes to ,左边是参数 =>到底是什么玩意,我刚开始是无论如何都无法理解,后来思路如下 1.相对于SQL,

数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15') 1.2[将现有表数据添加到一个已有表]insert into <已有的新表> (列名) select <原表列名> from <原表名>例:insert into tongxunlu ('姓名','地址','

[EF]使用EF简单增删改查

目录 认识EF 添加数据 删除数据 修改数据 查询数据 总结 认识EF ADO.NET Entity Framework 是微软以ADO.NET为基础所发展出来的对象关系对伊(O/R Mapping)解决方案,早起被称为ObjectSpage,最新版本EF6. 实体框架Entity Framework是ADO.NET中的一组支持面向数据的软件应用程序的技术.是微软的一个ORM框架. 什么是O/R Mapping 广义上,ORM指的是面向对象模型和关系数据库的数据结构之间的相互转换. 狭义上,OR

LinQ:集成化语言增删改查

LinQ:集成化语言增删改查 O--M--R Object:对象   Mapping:映射   Relation:关系 用法: 一.简单的查询 造一个上下文对象: HRDataContext _context = new HRDataContext(); 扩展方法,查所有 dataGridView1.DataSource = _context.Info; 根据条件查,括号里要写Lambda表达式 List<Info> list = _context.Info.Where(p=>p.列名=

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库 大概步骤如下5步: 1.创建项目(Asp.net Core 2.1项目) 2.项目使用EF Core 3.建立实体 4.生成迁移文件(生成数据库) 5.使用VS工具生成视图.控制器代码 示例代码下载  https://github.com/ZhMartincheng/NetCoreDemo.git 1.创建项目(Asp.net Core 2.1项目) 选择.net core 版本2.1 基础项目创建成功 2.项目使用E

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 添加: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 修改: update person set name =

kendoUI 简单增删改查

1  目前学习主要基于kendoUI英文API文档(http://docs.telerik.com/kendo-ui/introduction) 2  在已经搭建的MVC+EF+kendo UI的基础上实现Kendo UI增删改查功能 3 增删改查代码示例: 3-1:主要展示前台实现代码,因为后台代码不是唯一,可自行配置,返回JSON数据 3-1:html代码如下 3-1-1:查询和列表展示 HTML代码,列表展示只需要一个div标签 ,如下(div id="grid"><

Redis之五种数据类型的简单增删改查

开心一笑 乌龟受伤.让蜗牛去买药.过了2个小时.蜗牛还没回来.乌龟急了骂道:他妈的再不回来老子就死了!这时门外传来了蜗牛的声音:你他妈再说老子不去了! 提出问题 Redis五种数据类型的简单增删改查命令??? 解决问题 假设你已经安装Redis服务器: 假设你已经打开Redis cli命令行工具: 假设你对Redis有所了解: Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" O

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

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