999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Entity Framework淺析

2016-03-16 09:35:25王志丹
科技與創(chuàng)新 2016年4期

王志丹

摘 要:Entity Framework實(shí)體框架是以ADO.NET為基礎(chǔ),支持面向數(shù)據(jù)軟件應(yīng)用程序的技術(shù)。其以Entity Data Model為主,采用抽象化數(shù)據(jù)結(jié)構(gòu),可將數(shù)據(jù)庫的E/R模型轉(zhuǎn)換成對(duì)象模型,其屬性由庫表字段轉(zhuǎn)換而來,關(guān)聯(lián)系統(tǒng)則由關(guān)系轉(zhuǎn)換而來,最終將數(shù)據(jù)庫對(duì)象轉(zhuǎn)換為應(yīng)用程序?qū)ο螅康氖鞘咕幊虇T不直接在關(guān)系存儲(chǔ)架構(gòu)上編程。此外,采用該框架創(chuàng)建數(shù)據(jù)訪問應(yīng)用程序是通過創(chuàng)建概念應(yīng)用程序模型進(jìn)行的,可減少面向數(shù)據(jù)應(yīng)用程序的代碼量。

關(guān)鍵詞:EDM;ADO.NET;Entity Framework;編程員

中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2016.04.071

在應(yīng)用Entity Framework 技術(shù)時(shí),會(huì)針對(duì)數(shù)據(jù)庫生成模型和映射信息,并按照遵循1∶1的映射原則。如果要對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行增添、刪除、修改、查詢等操作,則可在代碼中直接操作。但事實(shí)上,一些操作違背了程序開發(fā)以應(yīng)用為導(dǎo)向的概念模型的出發(fā)點(diǎn),且這樣的處理方式易使對(duì)象概念不清晰,也不利于減少編寫程序的代碼量。

1 Entity Framework核心概述

Entity Data Model簡稱EDM,指實(shí)體數(shù)據(jù)模型。Entity Framework是基于EDM進(jìn)行數(shù)據(jù)訪問的。EDM屬于一個(gè)規(guī)范,用于定義在實(shí)體框架基礎(chǔ)上生成的應(yīng)用程序和使用數(shù)據(jù)。應(yīng)用程序域中的實(shí)體和關(guān)系是由EDM的應(yīng)用程序在設(shè)計(jì)架構(gòu)中定義的。應(yīng)用程序代碼使用的可編程類則是由設(shè)計(jì)架構(gòu)生成的,存儲(chǔ)架構(gòu)是在此模型中的另一個(gè)架構(gòu),用于持久保留應(yīng)用程序數(shù)據(jù)的存儲(chǔ)架構(gòu)。而設(shè)計(jì)架構(gòu)與存儲(chǔ)架構(gòu)間的連接橋梁為映射規(guī)范。設(shè)計(jì)架構(gòu)中生成可編程對(duì)象模型后,由存儲(chǔ)架構(gòu)將其映射到設(shè)計(jì)架構(gòu),從而使起到橋梁作用的映射規(guī)范可有效地將存儲(chǔ)架構(gòu)與可編程類連接在一起。此外,EDM還可提供在EDM架構(gòu)和映射規(guī)范中使用的基本實(shí)體和關(guān)系類型,開發(fā)人員在設(shè)計(jì)應(yīng)用程序時(shí),可根據(jù)需要使用這些實(shí)體和關(guān)系類型。

EDM由概念模型、存儲(chǔ)模型、映射三大部分組成。概念模型主要用于描述實(shí)體類,由概念架構(gòu)、語言定義;存儲(chǔ)模型又稱邏輯模型,主要描述數(shù)據(jù)庫中的對(duì)象,比如表、主鍵、列、索引等,由存儲(chǔ)架構(gòu)、語言定義,映射包含存儲(chǔ)模型中的列和概念模型中的實(shí)體屬性。

具體化的對(duì)象用數(shù)據(jù)讀取器以序列化格式讀取,進(jìn)而可得到EDM定義的實(shí)體,其能在CLR語言中編程、更新、保存,不需要使用嵌入式SQL字符串或其他數(shù)據(jù)庫語法。雖然用來管理應(yīng)用程序的數(shù)據(jù)實(shí)例均具有檢索優(yōu)勢,但存儲(chǔ)模型已經(jīng)過優(yōu)化,能有效地檢索、存儲(chǔ)數(shù)據(jù)。

數(shù)據(jù)模型是基于概念的一個(gè)整合體,體現(xiàn)于數(shù)據(jù)的類型、屬性、關(guān)系、約束條件等方面,進(jìn)而在應(yīng)用程序的代碼中體現(xiàn)。

2 Entity Framework的對(duì)象關(guān)系映射

在兩套截然不同的理論中,產(chǎn)生了以下概念:①基于“軟件工程”的基本原則,比如封裝、耦合、聚合,并在此基礎(chǔ)上,產(chǎn)生了面向?qū)ο螅虎谟伞皵?shù)學(xué)理論”產(chǎn)生的關(guān)系數(shù)據(jù)庫概念。由此可見,產(chǎn)生了阻抗不匹配的問題。為了解決該問題,從而提高開發(fā)效率,出現(xiàn)了對(duì)象關(guān)系映射技術(shù)(ORM)。

開發(fā)一個(gè)不使用ORM的應(yīng)用程序時(shí),可能會(huì)用到在數(shù)據(jù)庫中生成保存、讀取、刪除對(duì)象信息等訪問層的代碼,并將讀取對(duì)象數(shù)據(jù)、改變對(duì)象狀態(tài)等的方法寫入DAL中,這些代碼雖然相似,但不能被重用。

為了解決以上問題,可從O/R入手(O為對(duì)象,R為關(guān)系)。絕大多數(shù)的程序都會(huì)涉及到關(guān)系數(shù)據(jù)庫。當(dāng)對(duì)象信息發(fā)生變化時(shí),需要將這類信息保存在關(guān)系數(shù)據(jù)庫中。

ORM系統(tǒng)是隨著面向?qū)ο筌浖_發(fā)方法的發(fā)展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當(dāng)今企業(yè)級(jí)應(yīng)用開發(fā)環(huán)境中的主流開發(fā)方法,關(guān)系數(shù)據(jù)庫是企業(yè)級(jí)應(yīng)用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲(chǔ)系統(tǒng)。對(duì)象和關(guān)系數(shù)據(jù)是業(yè)務(wù)實(shí)體的兩種表現(xiàn)形式。業(yè)務(wù)實(shí)體在內(nèi)存中表現(xiàn)為對(duì)象,在數(shù)據(jù)庫中表現(xiàn)為關(guān)系數(shù)據(jù)。內(nèi)存中對(duì)象之間存在關(guān)聯(lián)和繼承的關(guān)系,而在數(shù)據(jù)庫中,關(guān)系數(shù)據(jù)無法直接表達(dá)多對(duì)多的關(guān)聯(lián)和繼承關(guān)系。因此,ORM系統(tǒng)一般以中間件的形式存在,主要表達(dá)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫數(shù)據(jù)的映射。

ORM系統(tǒng)完成了“實(shí)體對(duì)象”到“關(guān)系數(shù)據(jù)庫表”的透明化、自動(dòng)化、持久化,提供了易于理解的模型化、概念性的數(shù)據(jù)表達(dá)方法。ORM系統(tǒng)包括4部分:①API,可對(duì)持久類對(duì)象進(jìn)行CRUD操作;②規(guī)定類、類屬性查詢規(guī)則的API或語言;③規(guī)定mapping metadata的工具;④一種可以使ORM與對(duì)象數(shù)據(jù)共同進(jìn)行dirty checking、lazy association fetching以及其他優(yōu)化操作的技術(shù)。

應(yīng)用程序、Entity Framework、EDM、ORM、ADO.NET數(shù)據(jù)提供者與數(shù)據(jù)庫間的關(guān)系如圖1所示。

參考文獻(xiàn)

[1]謝日星.ADO.NET Entity Framework建模技術(shù)研究[J].科技傳播,2010(11).

[2]沈霞菲,王建中.基于.NET Entity Framework數(shù)據(jù)庫訪問機(jī)制的設(shè)計(jì)與應(yīng)用[J].現(xiàn)代電子技術(shù),2014(12).

[3]吳蕓.基于Web的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:電子科技大學(xué),2013.

〔編輯:張思楠〕

主站蜘蛛池模板: 国产精品视频免费网站| 色欲国产一区二区日韩欧美| 国产迷奸在线看| 日韩免费成人| 日本高清在线看免费观看| 亚洲第一中文字幕| 欧美精品高清| 日韩不卡高清视频| 日韩专区欧美| 欧美一级在线播放| 五月婷婷亚洲综合| 国产成人精品18| 日韩欧美国产三级| 白浆视频在线观看| 国产精品网曝门免费视频| 日韩精品无码不卡无码| 日韩av电影一区二区三区四区| 亚洲成在人线av品善网好看| 国产成人亚洲精品无码电影| 亚洲天堂在线视频| 欧美一区二区啪啪| 最新日韩AV网址在线观看| 国产91透明丝袜美腿在线| 亚洲 欧美 偷自乱 图片| 囯产av无码片毛片一级| 亚洲午夜天堂| 一本二本三本不卡无码| 久久a级片| 亚洲精品中文字幕无乱码| 亚洲精品久综合蜜| 四虎永久免费在线| 91麻豆国产在线| 毛片免费高清免费| 亚洲AⅤ综合在线欧美一区| 国产性生大片免费观看性欧美| 米奇精品一区二区三区| 日韩精品视频久久| 国产精品丝袜视频| 特黄日韩免费一区二区三区| 99精品伊人久久久大香线蕉| 一级毛片免费播放视频| 手机在线免费毛片| 免费全部高H视频无码无遮掩| 好紧太爽了视频免费无码| 女人毛片a级大学毛片免费| 99er精品视频| 国产麻豆va精品视频| 亚洲国产亚综合在线区| 精品1区2区3区| 一级在线毛片| 国产91成人| 午夜老司机永久免费看片| 欧美人与性动交a欧美精品| 久久91精品牛牛| 国产一级精品毛片基地| 亚洲天堂网在线观看视频| 久久精品无码国产一区二区三区| 手机精品福利在线观看| 国产福利免费视频| 在线观看国产小视频| 日韩高清欧美| 成人免费一区二区三区| 久久99国产精品成人欧美| 欧美特黄一免在线观看| 午夜国产精品视频黄| 全部毛片免费看| 国产喷水视频| 91人妻日韩人妻无码专区精品| 91欧美在线| 日韩欧美在线观看| 99久视频| 黄色网页在线观看| 第一区免费在线观看| 欧美亚洲另类在线观看| 嫩草国产在线| 91精品国产丝袜| 99久久精品免费看国产免费软件| 国产精品55夜色66夜色| 欧美亚洲激情| 欧美不卡在线视频| 中文字幕亚洲专区第19页| 欧美亚洲激情|