中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LinQ to SQL增刪改查的示例分析

發布時間:2021-12-01 10:33:33 來源:億速云 閱讀:179 作者:小新 欄目:編程語言

小編給大家分享一下LinQ to SQL增刪改查的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

我們來看看LinQ to SQL,就是對數據庫的查詢,以前叫做DLinQ。經常看到LinQ那到底是什么呢?他是Language Integrated Query的縮寫,以一種類似SQL語句的形式來對對象進行操作的編程方法。

在使用到LinQ時也會用到以前提到過的一些特性,如:匿名類型,自動化屬性等等。

LinQ to SQL是一種ORM,它允許你通過編寫.NET程序來控制或操作關系型數據庫以達到查詢的效果。你可以使用LinQ來檢索數據庫中的數據,也可以通過其進行數據的更新和添加。同時LinQ to SQL也支持事務,試圖以及存儲過程等等,通過VS2008(現在使用的是beta版本,下同)的LinQ to SQL設計器我們可以很容易定義一些實體類,我們可以通過添加一個新項來加入.dbml文件,并從數據庫服務器窗口拖出數據表。

我們定義兩個實體類,Artile和Category,我們也可以把存儲過程拖到方法的窗口中,由于我們的存儲過程和數據表的命名可能帶有前綴或其他標識,我們可以查看屬性窗口將他們的name屬性改掉我們容易識別的名稱。我們打開Designer.cs那個文件看一下,是不是生成了幾個類,其中一個最重要的是以DataContext為后綴那個類(他以當前dbml文件名加DataContext為名稱的類),他是這個LinQ的上下文,我們可以通過他來執行我們的操作。而上面兩個是外鍵關系,他還生成了一個關系類,而且在Category類中好有一個Article的集合,在Article中也有一個關聯屬性,在賦值時還會對鍵值類型進行判斷。

下面我們來看看實際應用的一些例子(LinQ to SQL四大護法<SELECT/INSERT/UPDATE/DELETE>):

1.從數據庫中檢索數據<SELECT>

  1. //三個重載(),(string connectionString),(IDbConnection connection)  

  2. ItLivesNetDataContext cntx = new ItLivesNetDataContext();  

  3. //這個也可以在初始化ItLivesNetDataContext實例時直接進行初始化。  

  4. cntx.Connection = new SqlConnection
    (ConfigurationManager.ConnectionStrings[0].ConnectionString);  

  5. var articles = from a in cntx.Articles  

  6. where a.CategoryID == 1  

  7. orderby a.PostDate descending  

  8. select a;  

上面的代碼將返回數據庫Articles表中類型ID為1的所有數據,并將其按發布時間進行降序排列。其中articles其實是IEnumerable<T>的實例,這個例子的T就是Article實體類。

2.將新數據插入到數據庫中<INSERT>

//插入新類型C++  Category category = new Category   { CategoryName="CPLUSPLUS",IsActived=true, ParentID = 1 };  //插入新文章,類型為C++  var article = new Article { Subject = "C++入門", Author="網魂小兵" };   category.Articles.Add(article);  cntx.Categories.Add(category);  cntx.SubmitChanges();

3.更新新數據<UPDATE>

  1. Category category = cntx.Categories.Single(p =>
    p.CategoryName.ToUpper() == "CSHARP");  

  2. category.IsActived = true;  

  3. category.Description = "UPDATE CSHARP!";  

  4. cntx.SubmitChanges();  

4.刪除數據庫中的數據<DELETE>

var delArtiles = from s in cntx.Articles  where s.CategoryName == "CPLUSPLUS"  select s;  cntx.Articles.RemoveAll(delArtiles);  cntx.SubmitChanges();

看完了這篇文章,相信你對“LinQ to SQL增刪改查的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淳化县| 长顺县| 丰都县| 囊谦县| 板桥市| 卢龙县| 榕江县| 阳谷县| 聂拉木县| 龙井市| 新昌县| 焉耆| 犍为县| 资溪县| 洛南县| 高淳县| 老河口市| 玉屏| 安新县| 湖州市| 公主岭市| 南皮县| 栾川县| 诸城市| 蓝田县| 三穗县| 沅江市| 江阴市| 庆阳市| 合江县| 五河县| 广宗县| 平昌县| 杭锦旗| 广汉市| 盘锦市| 宣汉县| 沙雅县| 大新县| 木里| 沙河市|