前言:首先给大家说声"对不起",因为自从打算写这系列的文章以来,得到大家很多的支持,谢谢大 家!最近因为公司的事和朋友找工作的事,没有怎么接着写了,也调了大家的胃口,还希望园子里的朋友 原谅!
本篇主要是讲述数据层的开发,之前的一篇文章已经给出了很多的选中的方案,如 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