亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ASP.NET MVC框架中的數(shù)據(jù)庫技術(shù)分析

        2016-01-28 01:38:53
        關(guān)鍵詞:數(shù)據(jù)庫

        童 鈺

        (湖北師范學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 黃石 435002)

        ASP.NET MVC框架中的數(shù)據(jù)庫技術(shù)分析

        童鈺

        (湖北師范學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 黃石435002)

        摘要:微軟推出的Visual Studio開發(fā)平臺(tái)以其完善的開發(fā)機(jī)制、龐大的類庫以及在數(shù)據(jù)庫交互方面強(qiáng)大的功能吸引著眾多的開發(fā)人員的使用。而在VS2010之后的平臺(tái)版本中由于整合了ASP.NET MVC項(xiàng)目模版,這使得開發(fā)人員可以通過該模板的自動(dòng)創(chuàng)建功能很方便的完成一個(gè)開發(fā)項(xiàng)目的大部分工作。這樣的做法無疑能夠讓開發(fā)人員可以快速地完成一個(gè)開發(fā)項(xiàng)目,但是卻并不能深入了解項(xiàng)目的構(gòu)造和運(yùn)行機(jī)制,所以只有進(jìn)一步分析MVC核心的技術(shù)才能使我們更好地提高項(xiàng)目的質(zhì)量和可維護(hù)性。

        關(guān)鍵詞:MVC; ORM; 數(shù)據(jù)庫

        中圖分類號:TP311.5

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號:1009-2714(2015)04- 0025- 04

        doi:10.3969/j.issn.1009-2714.2015.04.006

        收稿日期:2015—08—12

        作者簡介:童鈺(1977—),男,湖北黃石人,講師,碩士.

        1MVC概述以及ASP.NET MVC

        1.1 MVC概述

        MVC最早是在1979年由現(xiàn)挪威奧斯陸大學(xué)教授Trygve Reenskaug 提出的,并應(yīng)用于當(dāng)時(shí)廣泛使用的程序設(shè)計(jì)語言Smalltalk中,其主要目的就在于簡化軟件開發(fā)的復(fù)雜度,以一種概念簡單卻又權(quán)責(zé)分明的架構(gòu)來撰寫更模塊化,可維護(hù)性更高的程序代碼。因此,MVC并不是一種程序語言,而是開發(fā)時(shí)所使用的一種“框架”(架構(gòu))。MVC框架中使軟件開發(fā)分為三個(gè)主要單元:Model(模型)、View(視圖)、Controller(控制器),其定義和之間的關(guān)系如圖1:

        圖1 MVC定義及關(guān)系圖

        1.2 ASP.NET MVC

        在MVC中有一個(gè)非常重要的概念“關(guān)注分離點(diǎn)”(Separation Of Concerns),就是指你在項(xiàng)目開發(fā)時(shí)可以只關(guān)注當(dāng)前的對象,不用擔(dān)心受到同項(xiàng)目中其它對象的干擾。微軟長久以來致力于發(fā)展開發(fā)工具,希望能降低開發(fā)上的負(fù)擔(dān),因此基于MVC這種優(yōu)秀的軟件開發(fā)架構(gòu)微軟推出了ASP.NET MVC,并且從第一版以來ASP.NET MVC就以微軟公眾授權(quán)開放源代碼,同時(shí)ASP.NET MVC最大的優(yōu)勢就是可以通過Visual Studio這個(gè)龐大的開發(fā)平臺(tái)來進(jìn)行項(xiàng)目開發(fā),而且ASP.NET MVC擁有非常清楚的關(guān)注分離點(diǎn)架構(gòu)。所以,ASP.NET MVC既擁有MVC優(yōu)秀的架構(gòu)又可以使用Visual Studio來建立、調(diào)試、維護(hù)開發(fā)項(xiàng)目,這使得對Visual Studio比較熟悉的人可以更容易分析和掌握ASP.NET MVC的核心技術(shù)。

        2ASP.NET MVC中的數(shù)據(jù)處理

        一個(gè)開發(fā)應(yīng)用程序的項(xiàng)目中,數(shù)據(jù)的處理是最基礎(chǔ)也是最核心的內(nèi)容,ASP.NET MVC也不例外。

        首先我們要明確的一點(diǎn)是在ASP.NET MVC中,Model負(fù)責(zé)所有與數(shù)據(jù)有關(guān)的工作,例如:新增、刪除、更改、查詢等,同時(shí)Model的獨(dú)立性非常高,所以它可以更好的專注于如何有效地提供數(shù)據(jù)訪問機(jī)制、數(shù)據(jù)格式驗(yàn)證、商業(yè)邏輯驗(yàn)證等工作。

        其次,當(dāng)我們創(chuàng)建好數(shù)據(jù)模型,初次運(yùn)行應(yīng)用程序項(xiàng)目后ASP.NET MVC將會(huì)自動(dòng)在對應(yīng)的APP_Data目錄下產(chǎn)生一組默認(rèn)的數(shù)據(jù)庫文檔(*.mdf或*.ldf),文檔的命名規(guī)則為aspnet-項(xiàng)目名稱-日期時(shí)間.mdf,而整個(gè)項(xiàng)目的數(shù)據(jù)處理就是對這些數(shù)據(jù)文檔的處理。

        圖2 Model文件夾以及APP_Data文件夾

        3如何在ASP.NET MVC下開發(fā)數(shù)據(jù)層

        微軟的開發(fā)工具一向功能強(qiáng)大,這可以極大地降低項(xiàng)目開發(fā)上的負(fù)擔(dān),但在開發(fā)過程中卻造成了開發(fā)人員過度依賴開發(fā)工具,反而降低了對數(shù)據(jù)庫原理、網(wǎng)絡(luò)原理、面向?qū)ο蟪绦蛟O(shè)計(jì)等基礎(chǔ)知識(shí)的學(xué)習(xí)欲望。所以,充分掌握ASP.NET MVC下的數(shù)據(jù)庫構(gòu)成方式和技術(shù)特點(diǎn)并且能夠適當(dāng)調(diào)整ASP.NET MVC自動(dòng)生成的項(xiàng)目框架才能最終得到符合開發(fā)者需求的軟件。

        由于ASP.NET MVC還是基于面向?qū)ο蟮某绦蛟O(shè)計(jì),因此在Model層上最好采用ORM(Object Relational Mapping)信息訪問技術(shù)來開發(fā)。ORM可以將結(jié)構(gòu)化的關(guān)系型數(shù)據(jù)庫映射成面向?qū)ο竽P停贏SP.NET MVC中的具體體現(xiàn)也就是Entity Framework。在選擇采用了Entity Framework還是其它ORM開發(fā)技術(shù)后,根據(jù)項(xiàng)目的不同情況我們可以使用以下三種不同的數(shù)據(jù)庫開發(fā)模式來進(jìn)行數(shù)據(jù)庫的開發(fā):

        1)數(shù)據(jù)庫優(yōu)先開發(fā)模式

        數(shù)據(jù)庫優(yōu)先開發(fā)就是先進(jìn)行數(shù)據(jù)庫設(shè)計(jì),以數(shù)據(jù)庫里定義的數(shù)據(jù)結(jié)構(gòu)為主體和依據(jù)來進(jìn)行應(yīng)用程序的開發(fā).

        2)模型優(yōu)先開發(fā)模式

        模型優(yōu)先開發(fā)模式是指在ORM架構(gòu)中先創(chuàng)建對象模型,應(yīng)用程序的開發(fā)則依據(jù)這些對象模型,當(dāng)要訪問數(shù)據(jù)庫時(shí)(在ASP.NET MVC中)通過Entity Framework數(shù)據(jù)提供者的協(xié)助就可以自動(dòng)生成對應(yīng)的SQL語句并創(chuàng)建完整的數(shù)據(jù)庫。

        3)程序代碼優(yōu)先開發(fā)模式(Code first)

        這是一種比較新穎的開發(fā)模式,它是讓開發(fā)人員直接根據(jù)項(xiàng)目需求先寫出相關(guān)的類和屬性代碼也就是應(yīng)用程序所需要用到的數(shù)據(jù)模型,然后通過ORM框架的管理再轉(zhuǎn)換為實(shí)體模型。這種方法可以避免因?yàn)殚_發(fā)人員對數(shù)據(jù)庫操作不熟悉而導(dǎo)致開發(fā)效率降低。

        在當(dāng)前較新版本的Visual Studio開發(fā)環(huán)境中ASP.NET MVC和Entity Framework都已經(jīng)升級到第五版本,它們尤其強(qiáng)化了程序代碼優(yōu)先的開發(fā)模式。

        圖3 創(chuàng)建數(shù)據(jù)模型的代碼

        如圖3所示,這是一段創(chuàng)建留言板用戶信息數(shù)據(jù)模型的代碼,當(dāng)代碼正確運(yùn)行后這段程序?qū)?huì)在數(shù)據(jù)庫中創(chuàng)建一個(gè)名為UserInfo的表格,這就和在數(shù)據(jù)庫開發(fā)平臺(tái)下創(chuàng)建數(shù)據(jù)表是一樣的。當(dāng)所有項(xiàng)目當(dāng)中的要用到的數(shù)據(jù)模型都創(chuàng)建完畢,實(shí)際也就意味著我們已經(jīng)完成了項(xiàng)目數(shù)據(jù)庫的建立。

        4ASP.NET MVC下的Code first數(shù)據(jù)庫開發(fā)后的數(shù)據(jù)遷移問題

        在使用Code first生成數(shù)據(jù)庫后當(dāng)數(shù)據(jù)庫發(fā)生更改時(shí),運(yùn)行程序就會(huì)出現(xiàn)數(shù)據(jù)已更改的問題,這時(shí)可以刪除數(shù)據(jù)庫重新生成解決但是之前的數(shù)據(jù)就無法保留,為了保留之前的數(shù)據(jù)庫數(shù)據(jù),我們需要使用到Code first數(shù)據(jù)遷移。

        首先,如果需要更改數(shù)據(jù)結(jié)構(gòu),必須是先更改Model類,然后使用Code firs數(shù)據(jù)遷移,如果直接先更改了數(shù)據(jù)庫則使用數(shù)據(jù)遷移會(huì)報(bào)錯(cuò)。

        其次,如果在項(xiàng)目中我們只是引用的EF5.0(Entity Framework5)就不能達(dá)到直接安裝EF5的效果同樣無法完成數(shù)據(jù)遷移,這時(shí)我們就需要先安裝EF5.0執(zhí)行此命令“Install-Package EntityFramework-Version 5.0.0”安裝EF5.0,安裝后Model類下會(huì)出現(xiàn)packages.config(如圖4)。現(xiàn)在我們就可以正常地開始操作數(shù)據(jù)遷移了。首先執(zhí)行命令:Enable-MigrationsContextTypeName MovieDBContext 開啟Code First遷移。

        圖4 安裝EF5.0生成packages.config文件

        5結(jié)語

        雖然通過使用ASP.NET MVC可以自動(dòng)完成項(xiàng)目的大部分工作,極大地降低開發(fā)人員的工作負(fù)擔(dān),但對于整個(gè)ASP.NET MVC中最關(guān)鍵的一個(gè)部分Model來說,如果我們沒有清晰的認(rèn)識(shí)它是如何在ASP.NET MVC中運(yùn)作的,不能很好地對它進(jìn)行規(guī)劃,我們也就沒有辦法做出一個(gè)好的ASP.NET MVC項(xiàng)目。

        參考文獻(xiàn):

        [1]李園,陳世平.MVC設(shè)計(jì)模式在ASP.NET平臺(tái)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,13:3180~3184.

        [2]蔣金楠.ASP.NET MVC4框架揭秘[M].北京: 電子工業(yè)出版社,2013.

        [3]甄鐳.NET與設(shè)計(jì)模式[M].北京:電子工業(yè)出版被,2005.

        [4]黎永良,禚杜武.MVC設(shè)計(jì)模式的改進(jìn)與應(yīng)用[J].計(jì)算機(jī)工程,2005,31(9):96~98.

        [5]趙增敏,吳潔,唐惠康.基于Code First模式的ASP.NET MVC應(yīng)用開發(fā)[J].制造業(yè)自動(dòng)化,2012, 34(6):154 ~156.

        [6]孫高毅. 基于.NET的ASP.NET MVC框架研究[D].長沙:中南大學(xué),2009.

        [7]吳亞軍.試析ASP.NET的MVC開發(fā)模式 [J].電腦編程技巧與維護(hù),2011(14):77~78.

        [8]陳曉丹,鄭 毅.ASP.NET開發(fā)環(huán)境下的WebForm與MVC設(shè)計(jì)模式[J].武漢工程職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,(06).doi:10.3969/j.issn.1671-3524.2009.02.011.

        Analysis of database technology in MVC ASP.NET framework

        TONG Yu

        (The College of Computer Science and Technology, Hubei Normal University, Huangshi435000)

        Abstract:Microsoft launched the Studio Visual development platform to its sound development mechanism, a large class library and in the database to interact with powerful features to attract a large number of developers use. And in the platform version of VS2010 after the integration of the MVC ASP.NET project template, which allows developers to automatically create a function through the template to complete a large part of the development project. Such an approach will undoubtedly allow developers to quickly complete a development project, but it can not be in-depth understanding of the project's structure and operation mechanism, so only the further analysis of MVC core technology to improve the quality and maintainability of the project.

        Key words:MVC; ORM; DataBase

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        亚洲写真成人午夜亚洲美女| 日韩中文在线视频| 亚洲国产免费公开在线视频| av在线播放中文专区| av无码国产精品色午夜| 好屌草这里只有精品| 欧美成人a在线网站| 性感人妻av在线播放| 高清日韩av在线免费观看| 曰韩亚洲av人人夜夜澡人人爽 | yeyecao亚洲性夜夜综合久久| 伊人色综合九久久天天蜜桃| 中文字幕一区二区三区四区| 国产av无码专区亚洲avjulia| 97久久久久人妻精品专区| 中文一区二区三区无码视频| 精品亚洲一区二区三洲| 欧美成人家庭影院| 精品国产一二三产品区别在哪| 久久天天躁狠狠躁夜夜爽蜜月| 国产亚洲AV片a区二区| 中文字幕亚洲五月综合婷久狠狠| 亚洲中字幕日产av片在线| 99精品国产99久久久久久97| 亚洲综合色区无码专区| 少妇激情一区二区三区| 手机在线观看免费av网站| wwww亚洲熟妇久久久久| 欧美三级不卡视频| 日本中文字幕av网址| 美女视频在线观看网址大全| 狠狠人妻久久久久久综合蜜桃 | 国产a√无码专区亚洲av| 亚洲伊人成综合网| 中文亚洲爆乳av无码专区 | 国产日产高清一区二区三区| 少妇无码av无码专线区大牛影院| 韩国无码av片在线观看网站| 99精品免费视频| 国产一区二区杨幂在线观看性色| 国产精品美女一区二区视频|