日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何實現(xiàn)LINQ自定義業(yè)務

編者按:LINQ的基本概念大家應該都已經(jīng)有所了解了,不過理論和實際總會有那么點差距。LINQ自定義業(yè)務就屬于LINQ的一個很典型的應用,下面,我們就來一起看一看究竟怎么來實現(xiàn)LINQ自定義業(yè)務。

LINQ TO SQL很好很強大,它幾乎包含了我們能夠想到的所有與數(shù)據(jù)庫有關的操作,甚至也包含了一些我們可能都沒有想到的。

但不管怎樣,也許我們需要在LINQ TO SQL的操作中添加一個LINQ自定義業(yè)務邏輯,例如在插入某個實體的時候編寫日志等等。如何實現(xiàn)這樣的功能呢?

其實這一點,LINQ TO SQL在設計的時候也考慮到了。我們可以打開那個dtml文件的designer.cs文件,我們發(fā)現(xiàn)有些隱藏的代碼

首先,我們看到NorthwindDataContext這個類型是一個局部類型(Partial Class),而且上述定義的一些方法也是局部方法(Partial Method)

局部方法是C# 3.0的新增特性。它使用在如下場景:

某個方法可有可無。通過partial 關鍵字聲明的目的是,可以讓其他地方代碼可以調(diào)用它。但如果該方法最終沒有被實現(xiàn),那么包括方法聲明以及調(diào)用代碼都會被刪除掉。

這個特性與虛方法,抽象方法都不同。

假設我們需要在InsertCustomer的時候添加一些業(yè)務邏輯,那么該怎么做呢?

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;   
  5.  
  6. namespace Model  
  7. {  
  8.     public partial class NorthwindDataContext  
  9.     {  
  10.         partial void InsertCustomer(Customer instance)  
  11.         {  
  12.            //這里可以實現(xiàn)自己的保存邏輯,根據(jù)傳入的一個Customer的實例   
  13.  
  14.             this.ExecuteCommand("Insert Into.....");  
  15.             //還可以寫日志,等等  
  16.         }  
  17.     }  
  18. }  

【注意】一旦我們這樣做了,那么插入Customer的邏輯就全部由我們來負責了。你需要確保這里面的代碼是完整的

 
 
 
 
  1. protected void addcustomer_Click(object sender, EventArgs e)  
  2. {  
  3.     Model.NorthwindDataContext db = new Model.NorthwindDataContext(connectionString);  
  4.     Model.Customer c = new Model.Customer()  
  5.     {  
  6.         CustomerID = "AAAAAS",  
  7.         CompanyName = "Xizhang" 
  8.     };   
  9.  
  10.     db.Customers.InsertOnSubmit(c);  
  11.     db.SubmitChanges();   
  12.  

在db.SubmitChanges方法被調(diào)用后,會自動調(diào)用我們寫的那個InsertCustomer方法,也就實現(xiàn)了LINQ自定義業(yè)務。

本文出自博客園,作者陳希章

【編輯推薦】

  1. 實例二:綁定到LINQ查詢的結(jié)果
  2. LINQ——語言級集成查詢?nèi)腴T指南
  3. LINQ查詢表達式深入剖析
  4. LINQ查詢的目的與實現(xiàn)手段
  5. LINQ的演變及其對C#設計的影響

當前文章:如何實現(xiàn)LINQ自定義業(yè)務
當前鏈接:http://m.5511xx.com/article/coocjos.html