本篇內(nèi)容介紹了“如何創(chuàng)建MVC5 + EF6”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
襄汾ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!本文所使用的軟件及環(huán)境:
Visual Studio Ultimate 2013;
MVC5 + EF6 + .NET Framework 4.5 + LocalDB;Windows 7 x64 Professional
說明:
1.在EF (Entity Framework,以下簡稱EF6)框架下,操作數(shù)據(jù)的方式有三種:Database First, Model First, 以及Code First,本文基于Code First創(chuàng)建。
2.本文是基于MVC5創(chuàng)建:
3.LocalDB
LocalDB是SQL Server Express數(shù)據(jù)庫引擎的輕量級版本,其非常易于安裝、配置、以命令行啟動并運(yùn)行在user model.
LocalDB以一種SQL Server Express特殊的執(zhí)行模型運(yùn)行,從而使得你能夠以.mdf文件的方式來操作數(shù)據(jù)庫。如果你想使得數(shù)據(jù)庫具有隨項(xiàng)目遷移的能力,你可以把LocalDB數(shù)據(jù)庫文件放在web項(xiàng)目的App_Data文件夾下。
在SQL Server Express中雖然你能夠通過使用用戶示例功能來達(dá)到操作.mdf文件的目的,但是這種做法是不推薦的,相反,LocalDB是被推薦的方式。在Visual Studio2012及隨后的版本中,LocalDB隨Visual Studio一起默認(rèn)安裝的。
通常來說SQL Server Express并不會被用于Web應(yīng)用程序的生產(chǎn)環(huán)境,同樣地,LocalDB由于其并不是針對IIS而設(shè)計的也不被推薦使用于生產(chǎn)環(huán)境。
一、創(chuàng)建基于MVCWeb Application
在正式開始之前,先看一下VS 2013的啟動界面,是不是有點(diǎn)冷酷的感覺
好了,言歸正傳,首先按如下截圖創(chuàng)建
創(chuàng)建完成后,我們對網(wǎng)站的風(fēng)格做些微調(diào),以便能契合應(yīng)用主題
Views\Shared\_Layout.cshtml做如下更改(請看黃色高亮部分)
@ViewBag.Title - Contact @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr")@Html.ActionLink("Contact", "Index", "Home", null, new { @class = "navbar-brand" })
- @Html.ActionLink("Home", "Index", "Home")
- @Html.ActionLink("About", "About", "Home")
- @Html.ActionLink("Contacts", "Index", "Contact")
- @Html.ActionLink("Groups", "Index", "Group")
@RenderBody()@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false) Views\Home\Index.cshtml 替換成如下內(nèi)容 @{ ViewBag.Title = "Home Page"; }
Contact
Welcome to Contact
Contact is a sample application that demonstrates how to use Entity Framework 6 in an ASP.NET MVC 5 web application.
Build it from scratch
You can build the application by following the steps in the tutorial series on the following site.
運(yùn)行看一下效果吧
安裝EF6
創(chuàng)建數(shù)據(jù)模型
在Models文件夾下,分別創(chuàng)建Contact.cs、Enrollment.cs、Group.cs三個類
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace PCT.Contact.Models { public class Contact { public int ID { get; set; } public string Name { get; set; } public DateTime EnrollmentDate { get; set; } public virtual ICollectionEnrollments { get; set; } } } using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace PCT.Contact.Models { public class Enrollment { public int EnrollmentID { get; set; } public int ContactID { get; set; } public int GroupID { get; set; } public virtual Contact Contact { get; set; } public virtual Group Group { get; set; } } } using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace PCT.Contact.Models { public enum GroupName { Friend, Family, Colleague, Schoolmate, Stranger } public class Group { public int GroupID { get; set; } public GroupName? GroupName { get; set; } public virtual ICollection Enrollments { get; set; } } }
PS:發(fā)現(xiàn)VS 2013有一個自動提示reference,是不是很方便啊
創(chuàng)建Database Context
在PCT.Contact項(xiàng)目下新建文件夾DAL(Data Access Layer),繼而繼續(xù)新建CommunicationContext.cs
悲劇啊,由于類Contact和項(xiàng)目名稱Contact重復(fù),不得不寫全稱啊,以后注意。
繼續(xù)在DAL目錄下創(chuàng)建CommunicationInitializer.cs
為了通知EF使用你創(chuàng)建的initializer class,在項(xiàng)目的web.config中添加entityFramework節(jié)點(diǎn)
在項(xiàng)目web.config中添加connectionstrings(在appSettings之上)
運(yùn)行結(jié)果
查看LocalDB
“如何創(chuàng)建MVC5 + EF6”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!