Linq,全称Language Integrated Query,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中。
Linq分为查询语法和方法语法,说白了查询语法就是 from where select ,而方法语法的基础操作需要用到lambda表达式
Form 选择数据源 Where 指定条件 Select 选择元素 lambda表达式中的 => 理解为 goes to ,左边是参数
=>到底是什么玩意,我刚开始是无论如何都无法理解,后来思路如下
1.相对于SQL, select * from Table b b就可以代表Table,个人理解为表对象,然后可以b.列
2.相对于Linq, from b in Table ... b就可以代表Table,select后面可以写成b.列
3.相对于Lambda, db.Table_1.SingleOrDefault(b => b.IDD == id); b就代表Table_1的对象,当然b在这里是一个变量
Linq操作的是数据对象,所以需要先建立一个实体对象模型,操作的表如下
USE [IBBC] GO CREATE TABLE [Table_1]( IDD INT PRIMARY KEY NOT NULL, Nnmae VARCHAR(15) NULL ) INSERT [dbo].[Table_1] ([IDD], [Nnmae]) VALUES (100, N‘清高祖‘),(102, N‘清高宗‘), (103, N‘清太祖‘),(104, N‘Test1‘), (105, N‘Test2‘),(106, N‘Test3‘), (107, N‘Test4‘),(108, N‘Test5‘)
查询:
public void Dbquery(int id) { IBBCEntities db = new IBBCEntities(); var request = from d in db.Table_1 where d.IDD == id select new { d.IDD, d.Nnmae }; foreach (var item in request) { Console.WriteLine("查詢語法: " + item); } var request1 = db.Table_1.SingleOrDefault(b => b.IDD == id); Console.WriteLine("方法語法: " +request1.IDD+" "+request1.Nnmae); Console.ReadKey(); }
添加:
//添加: var add1 = db.Table_1.SingleOrDefault(c=>c.IDD==1010); if (add1.IDD==null) { Table_1 tb = new Table_1 { IDD = 1010, Nnmae = "張三丰" }; db.Table_1.Add(tb); db.SaveChanges(); }
修改:
//修改 var update1 = db.Table_1.SingleOrDefault(c => c.IDD == 1010); if (update1.IDD!=null) { update1.Nnmae = "張君寶"; db.SaveChanges(); }
删除:
//刪除 var delete1 = db.Table_1.SingleOrDefault(c=>c.IDD==1010); if (delete1.IDD!=null) { db.Table_1.Remove(delete1); db.SaveChanges(); }
权当做学习记录
时间: 2024-10-07 16:29:31