真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于LINQtoSQL的WEB開發(fā)三層架構怎么實現(xiàn)

本篇內容主要講解“基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)”吧!

10多年的凌河網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整凌河建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“凌河網(wǎng)站設計”,“凌河網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

程序員不再受限于復雜的SQL腳本,而可以一種近乎***的方式來搭建自己的面向對象型軟件 系統(tǒng),這種方式就是將數(shù)據(jù)完全對象化,將SQL語句封裝到底層,由framework來完成,程序員 只需面向數(shù)據(jù)庫對象來編程,從另一種意義上來說,是把數(shù)據(jù)也程序化了。

LINQ的這種開發(fā)模式也改變了系統(tǒng)架構的搭建方式,在以往的系統(tǒng)中,數(shù)據(jù)訪問層DAL 要訪問數(shù)據(jù)字段,業(yè)務邏輯層BLL要得到數(shù)據(jù)都需要通過數(shù)據(jù)模型層Model來處理,而LINQ和 VS2008為我們帶來了一種全新的自動化方式生成數(shù)據(jù)模型層,這就是dbml(Database Mark Language。數(shù)據(jù)庫描述語言,是一種xml格式的文檔,用來描述數(shù)據(jù)庫),有了它我們就不需要 去找那些第三方的代碼生成工具,只需要把數(shù)據(jù)表拖拽到設計器中,如下圖所示,DONET便為我 們做好了一切。

基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)

完成拖拽操作后,VS會自動生成一個數(shù)據(jù)模型層的dbml文件和相關的類文件。這樣我們省去 了數(shù)據(jù)模型層的搭建,系統(tǒng)的架構也就有所不同,以下用一個例子簡單的講一下該架構模型。

為了完成這個架構,我們首先要創(chuàng)建一個WEB APPLICATION項目,在新建項目窗口選擇 “ASP.NET WEB應用程序”,為它取一個名字,并確定。

基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)

接下來,在解決方案資源管理器中再添加一個類庫項目,取名為DAL,如下圖:

基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)

再使用同樣的方法在解決方案資源管理器中添加一個類庫項目,取名為BLL,這樣我們的基 礎架構搭建完成,此時我們的解決方案資源管理器應該是如下結構。

基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)

此時,我們先從DAL項目入手,在DAL項目中,添加一個LINQ TO SQL類,取名為Northwind( 為了方便起見,此項目使用SQL SERVER2005中的Northwind示例數(shù)據(jù)庫),雙擊新建立的 Northwind.dbml文件,然后打開“服務器資源管理器”,建立與數(shù)據(jù)的連接,并從Northwind數(shù) 據(jù)庫中,將Employees表拖拽到Northwind.dbml文件的可視化設計器中。

基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)

初始的Northwind.dbml文件代碼如下:

#pragma warning disable 1591
//--------------------------------------

----------------------------------------
// 
//     此代碼由

工具生成。
//     運行時版本:2.0.50727.3053
//
//     對此文件的更改可能會

導致不正確的行為,并且如果
//     重新生成代碼,這些更改將會丟失。
//
//-----------------------------------------------------------------

-------------
namespace DAL
{
using System.Data.Linq;
using 

System.Data.Linq.Mapping;
using System.Data;
using 

System.Collections.Generic;
using System.Reflection;
using 

System.Linq;
using System.Linq.Expressions;
using 

System.ComponentModel;
using System;
[System.Data.Linq.Mapping.DatabaseAttribute(Name="Northwind")]
public 

partial class NorthwindDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new 

AttributeMappingSource();
#region Extensibility Method Definitions
partial void OnCreated();
partial void InsertEmployees(Employees 

instance);
partial void UpdateEmployees(Employees instance);
partial 

void DeleteEmployees(Employees instance);
#endregion
public 

NorthwindDataContext() : 
base

(global::DAL.Properties.Settings.Default.NorthwindConnectionString, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(string 

connection) : 
base(connection, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(System.Data.IDbConnection connection) : 

base(connection, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(string connection, 

System.Data.Linq.Mapping.MappingSource mappingSource) : 
base(connection, 

mappingSource)
{
OnCreated();
}
public 

NorthwindDataContext(System.Data.IDbConnection connection, 

System.Data.Linq.Mapping.MappingSource mappingSource) : 
base(connection, 

mappingSource)
{
OnCreated();
}
public 

System.Data.Linq.Table

從中可以看到,這里本質上就是以前的數(shù)據(jù)模型層,將數(shù)據(jù)整個對象化了,為了層之間的訪 問方便,我們將改類的命名空間改為Auto.DAL,并將NorthwindDataContent類的***個構造函 數(shù)代碼修改如下,這樣修改主要是為了統(tǒng)一數(shù)據(jù)庫連接字符串的位置,因為dbml文件在生成后 會附帶生成一個app.config文件,用來存放連接字符串,而我們要把連接字符串統(tǒng)一放到 web.config中。(要訪問web.config文件,需要為DAL項目添加對System.Configuration的應用 )

public NorthwindDataContext() :
base
(ConfigurationManager.ConnectionStrings
["NorthwindConnectionString"].ConnectionString, mappingSource)
{
OnCreated
();
}

完成前面的操作以后,開始建立數(shù)據(jù)訪問層的類文件,這時,先在 DAL項目下添加一個類文件,取名為DALEmployees.cs,其代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Auto.DAL
{
public class DALEmployees
{
///
NorthwindDataContext db = new NorthwindDataContext();
///
///[object Object]城 市地址
///
public IQueryable

這個數(shù)據(jù)訪問層中只建立了一個用來根據(jù)城市地址獲取Employee數(shù)據(jù)的方法,它內部執(zhí)行一 段LINQ,返回一個IQueryable型的結果,由于LINQ后期編譯的特性,這個結果只有在程序運行 后才會返回數(shù)據(jù)集。

接著,建立業(yè)務邏輯層,在BLL項目中,添加一個類文件,取名為BLLEmployees.cs,其代碼 如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Auto.DAL;
namespace Auto.BLL
{
public class BLLEmployees
{
///
///[object Object]城市名
///
public IQueryable

這段代碼完成了業(yè)務邏輯層的定義,建立了一個和數(shù)據(jù)訪問層的同名方法GetList,用來傳 送城市名稱參數(shù)。***,在WEB Application項目中,添加對BLL層的應用,并在Default.aspx 頁面中添加一個GridView控件用來顯示數(shù)據(jù),Default.aspx.cs的代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Auto.BLL;
namespace WebApplication2
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetList("London");
}} 
///
///[object Object]城市名稱
private void GetList(string strCity) 
{
//執(zhí)行業(yè)務邏輯層的方法
BLLEmployees bl = new BLLEmployees();
//綁 定到GridView1控件
GridView1.DataSource = bl.GetList (strCity);
GridView1.DataBind();
}}}

完成后,執(zhí)行程序,便可得到相關數(shù)據(jù),整個程序的結構如下:

基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)

到此,相信大家對“基于LINQ to SQL的WEB開發(fā)三層架構怎么實現(xiàn)”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


文章標題:基于LINQtoSQL的WEB開發(fā)三層架構怎么實現(xiàn)
網(wǎng)址分享:http://weahome.cn/article/ipoghj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部