前言:首先給大家說聲"對不起",因為自從打算寫這系列的文章以來,得到大家很多的支持,謝謝大 家!最近因為公司的事和朋友找工作的事,沒有怎麼接著寫了,也調了大家的胃口,還希望園子裡的朋友 原諒!
本篇主要是講述數據層的開發,之前的一篇文章已經給出了很多的選中的方案,如 SqlHelper,DataTable/DataSet,以及自定義實體。但是我們說過了,那些方案都有不盡人意的地方,所以 我們就提出用Linq,找個方案就比之前好一些,但是也不是那麼完美了。
本篇的話題如下:
Linq中自定義方法
提出解決方案
Linq中自定義方法
在此之前,我們先要講清楚一個問題:在Linq中的自定義存儲過程。
我們知道,當我們把數據庫中的一張表拖放到Linq的ORM設計器上以後,ORM就自動生成了很多的方法 ,如Delete,Update,Insert方法,這些方法都是自動生成的,一般是沒有什麼問題的,但是一個項目的開 發中,很多時候我們都要把這些方法進行定制。那麼我們就要用自己的存儲過程。
一般情況下,我們可以在我們的數據庫中定義一些的存儲過程,如下,我們在之前定義的 ENTUserAccount表中添加一條數據:
CREATE PROCEDURE ENTUserAccountInsert
(
@WindowsAccountName varchar(50),
@FirstName varchar(50),
@LastName varchar(50),
@Email varchar(100),
@IsActive bit,
@InsertENTUserAccountId int
)
AS
SET NOCOUNT ON
INSERT INTO ENTUserAccount(WindowsAccountName, FirstName, LastName,
Email, IsActive, InsertENTUserAccountId, InsertDate,
UpdateENTUserAccountId, UpdateDate)
VALUES (@WindowsAccountName, @FirstName, @LastName, @Email,
@IsActive, @InsertENTUserAccountId, GetDate(),
@InsertENTUserAccountId, GetDate())
RETURN