ASP.NET 3.5企业级项目开发 第二章(续) 数据访问层(DAL)的开发解决方案提出

前言:首先给大家说声"对不起",因为自从打算写这系列的文章以来,得到大家很多的支持,谢谢大 家!最近因为公司的事和朋友找工作的事,没有怎么接着写了,也调了大家的胃口,还希望园子里的朋友 原谅!

本篇主要是讲述数据层的开发,之前的一篇文章已经给出了很多的选中的方案,如 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

时间: 2024-12-23 05:11:27

ASP.NET 3.5企业级项目开发 第二章(续) 数据访问层(DAL)的开发解决方案提出的相关文章

ASP.NET 3.5企业级项目开发 第二章 数据访问层(DAL)的开发

本篇的话题主要如下: 问题提出 设计方案 问题提出 数据访问层(DAL)的目标创建一些以便业务层来调用的类和方法.我们之前总是用GridView来绑定 DataSet和DataReader,但是在稍微大点的项目开发中DAL不能直接和用户 界面打交道. 一般来说,DAL是用来和数据库和BLL打交道的,也就是处理BLL和数据库的中间.数据以什么形式在 DAL和BLL之前传递有很多的争论.不同的人有不同的意见,数据传递的形式有:DataSet,强类型的 DataSet,DataReader,自定义实体

在ASP.NET 2.0中操作数据之一:创建一个数据访问层_自学过程

导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇.我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL),以及一个由共享页面布局的ASP.NET网页组成的表现层.在打下这个后端的基础工作之后,我们将开始转向报表,示范如何显示,汇总

ASP.NET2.0数据操作之创建数据访问层(1)

asp.net|创建|访问|数据 导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇.我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL),以及一个由共享页面布局的ASP.NET网页组成的表现层.在打下这个后端的基础工作之后,我们

Scott Mitchell的ASP.NET 2.0数据教程之一 创建一个数据访问层

返回"ASP.NET 2.0数据教程目录" 导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库 来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研 究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇 .我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的 DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL), 以及一个由共享页面布局的ASP.NET网页组成的表现层.在打

asp.net SqlHelper数据访问层的使用_实用技巧

本文章主要介绍SqlHelper使用. 每个项目都要用到数据访问层,我做的也不例外,但是我把数据访问层做成独立项目,没有什么太大的目的,数据访问层,仅仅做数据访问用,不包含任何逻辑. 为什么要使用数据访问层? 如果不使用数据访问层,那么你的代码里会出现很多SqlConnection.SqlCommand.SqlDataReader.Open. Close--这些类和方法,而且代码量很大,让你不胜其烦,而且代码写起来,其实都是体力活,没有技术含量.因此我们要把数据访问层封装起来,方便重用.微软已经

ASP.NET 3.5企业级项目开发 第一章(续):企业级项目框架解决方案的提出

前言:自从上篇文章,争议很多,所以我决定采用:翻译+自创的方式来写文章,在写的过程中也把自 己的一些心得和体会融合进去,希望大家支持,从技术的角度来看文章. 上一篇文章已经谈论了整个项目的"提出问题--设计方案"部分,本篇的话题是接着上一篇而来的.主 要包括如下: 整个项目的解决方案 步入实战 而且由于篇幅的原因,本系列的文章结构一般是每一章分为两篇文章来写:第一篇:提出问题和设计 方案,第二篇:解决方案. 项目的解决方案 之前我们已经说过了,整个系统的的开发将会采用三层结构:UI,B

ASP.NET2.0数据操作之创建数据访问层(4)

asp.net|创建|访问|数据 第五步:完成数据访问层 注意,ProductsTableAdapters类从Products表中返回的 是CategoryID和SupplierID的值,但并不包括Categories表 的CategoryName字段和Suppliers表的CompanyName字段,尽管当 我们显示产品信息时,这些很可能是我们想要显示的字段.我们可以扩充TableAdapter的起始方 法GetProducts()来包含CategoryName和CompanyName字段的值

基于.NET平台的分层架构实战(八)—数据访问层的第二种实现:SQLServer+存储

基于.NET平台的分层架构实战(八)-数据访问层的第二种实现:SQLServer+存储过程 在上一篇中,讨论了使用SQL构建数据访问层的方法,并且针对的是Access数据库.而这一篇中,将要创建一个针对SQLServer数据库的数据访问层,并且配合存储过程实现. 曾经有朋友问我使用SQL和存储过程在效率上的差别,惭愧的是我对这方面没有研究,也没有实际做过测试.通过查阅资料,发现在一般情况下,存储过程的效率由于使用SQL,但是也不绝对,也发现有的朋友测试时发现在特定情况下SQL的效率优于存储过程,

ASP.NET2.0数据操作之创建数据访问层(2)

asp.net|创建|访问|数据 这最后一个复选框,"生成DB直接方法(GenerateDBDirectMethods)",如果选了的话,会为TableAdapter自动生 成Insert(),Update(),和Delete()方法.如果你不选这个选项 的话,所有的更新都需要通过TableAdapter唯一的Update()方法来实现,该方法接受一个强类型的DataSet,或者一个DataTable,或者单个DataRow,或者一个DataRow数组.(假如你 在图9所示的高级属性里