[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 04 数据访问层

注:本例来自图书Professional ASP.NET Design Pattern,该书的亚马逊链接为:http://www.amazon.com/Professional-ASP-NET-Design-Patterns-Millett/dp/0470292784/ref=sr_1_1?ie=UTF8&qid=1296479229&sr=8-1

转载请注明本文来自博客园 http://www.cnblogs.com/charrli

 

数据访问层由于使用了LINQ,编写非常容易。

 

1. 首先在WebUI里添加一个SQL数据库文件,名称为Shop,添加表Product如下:

image 

2. 回到数据访问层项目,首先添加一个LINQ to SQL的项,名称为ShopDataContext.dbml,拖入Product表。

3. 添加ProductRepository

public class ProductRepository : IProductRepository
{       
    public IList<Model.Product> FindAll()
    {
        var products = from p in new ShopDataContext().Products
                       select new Model.Product
                           {
                               Id = p.ProductId,
                               Name = p.ProductName,                                  
                               Price = new Model.Price(p.RRP, p.SellingPrice)                                                                       
                           };           

        return products.ToList();
    }
}
可见这里非常容易得就从数据库获得了Model.Product类型的对象的集合,实现了从数据库表向内存数据对象的转变。

这里实现的接口IProductRepository是数据访问层和业务逻辑层的结合处。

 

[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 01 准备工作
http://www.cnblogs.com/charrli/archive/2011/01/31/1948483.html

[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 02 业务逻辑层
http://www.cnblogs.com/charrli/archive/2011/01/31/1948504.html

[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 03 服务层
http://www.cnblogs.com/charrli/archive/2011/02/01/1948521.html

[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 04 数据访问层
http://www.cnblogs.com/charrli/archive/2011/02/01/1948523.html

[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 05 表现层
http://www.cnblogs.com/charrli/archive/2011/02/01/1948554.html

[ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 06 用户界面层
http://www.cnblogs.com/charrli/archive/2011/02/01/1948563.html

posted on 2011-02-01 00:47  李志鹏  阅读(399)  评论(0)    收藏  举报

导航