Linq to SQL 的增删改查操作
? ? ? Linq,全稱Language Integrated Query,作為C#3.0新語法,是C#語言的一個擴(kuò)展,可以將數(shù)據(jù)查詢直接集成到編程語言本身中。?Linq表達(dá)式和SQL語句差不多,說白了就是顛倒sql語法, from where select ...,從from開始,以select/group by 結(jié)束,輸出一個IEnumerable<T>或 IQueryable<T>的集合。世間萬物皆系于一箭之上,存在即合理,技術(shù)是進(jìn)步的,還可使用標(biāo)準(zhǔn)化查詢運(yùn)算符(SQO),繼承自IEnuberable<T>接口,提供了 篩選、投影、聚合、排序等功能的方法,缺點(diǎn)就是語句太多龐大復(fù)雜。優(yōu)點(diǎn)使用便捷,有即時加載(FindAll)和延時加載(Where)
? ? ? EF(Entity Framework)Ado.NET中面向開發(fā)數(shù)據(jù)的一種技術(shù),有Code First、Model First、Database First,是微軟的一個ORM框架。
? ? ? Lambda表達(dá)式的本質(zhì)就是匿名函數(shù),可以包含表達(dá)式和語句,也可以用于創(chuàng)建委托或表達(dá)式樹類型,運(yùn)算符為“=>”,讀作 goes to,借用MVC企業(yè)級實(shí)戰(zhàn)書中一圖
new Func<string, int>(delegate (string str) { return str.Length; });(delegate (string str) { return str.Length; }); //匿名方法 (string str) => { return str.Length; }; //Lambda語句 (string str) => str.Length; //Lambda表達(dá)式 (str) => str.Lenth; //省略類型,讓IDE去判斷 str => str.Lenth; //去掉括號?Linq操作的是數(shù)據(jù)對象,所以需要先建立一個實(shí)體對象模型,操作的表如下
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_1where d.IDD == idselect 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("(SQO)方法語法: " +request1.IDD+" "+request1.Nnmae);Console.ReadKey(); }
添加:
//添加:var add1 = db.Table_1.SingleOrDefault(c=>c.IDD==1010);if (add1.IDD.Tostring()==null){Table_1 tb = new Table_1{IDD = 1010,Nnmae = "張三豐"};db.Table_1.Add(tb);db.SaveChanges();}(PS:add1.IDD為Int類型,所以永遠(yuǎn)不會等于null,故取其ToString(),下同))
修改:
//修改 var update1 = db.Table_1.SingleOrDefault(c => c.IDD == 1010); if (update1.IDD.Tostring()!=null){
update1.Nnmae = "張君寶";
db.SaveChanges();
}
刪除:
//刪除var delete1 = db.Table_1.SingleOrDefault(c=>c.IDD==1010);if (delete1.IDD.Tostring()!=null){
db.Table_1.Remove(delete1);
db.SaveChanges();
}
?
權(quán)當(dāng)做學(xué)習(xí)記錄
? ? ? ? --市人皆大笑,舉手揶揄之
轉(zhuǎn)載于:https://www.cnblogs.com/Sientuo/p/6163991.html
總結(jié)
以上是生活随笔為你收集整理的Linq to SQL 的增删改查操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 并行执行,没用到过,写到这里免得搞忘
- 下一篇: PL/SQL 08 异常 excepti