初识ASP.NET Mvc5+EF7的奇妙之旅
话说今年微软是很给力的,Win10算是吸引了大众的眼球了,而最新的.NET5框架更是OK。 最新的.NET5进行了开源,同时利用NuGet以及Node和Bower进行了跨平台化;这意味这可以直接在Mac或者Linux上使用.NET进行开发。 而最新的Mvc5和EF框架也算是进行了换脸了,跟之前Mvc4的项目都不一样,如果进行移植除了核心代码可以拷贝过来,其他的统统要重新来过。 最近准备改版一下网站,所以尝试了一把最新的框架;当然由于现在还是预览版所以改动什么的都超大,所以也走了不少弯路;特在此记录一下。 项目准备 工具:VS2015/Visual Studio Code 2015 下载地址 Mvc5 VS 插件:最新的预览版为Beta7 下载地址 由于是Beta7,而微软官方的说明文档和例子大部分可以适用,但是有些地方也是不对的,比如EF的命令,EF Beta3 与 Beta7差别很大,这也就是预览版的缺点,时不时的就改动了。 新建项目 打开VS,点击文件-新建-项目-Web 这里起名叫做:MusicBank,就是一个音乐店吧。 在这里我们来一个空的就好。我们来自己建立Model/EF…. 可以看见我们的项目其实是在 Src 文件夹下面。而项目中除了引用+简单设置以外就没有任何东西。 环境搭配 项目有了,但是却并不能直接用,我们需要搭建环境,比如我们需要引入EF等等。 dependencies 打开文件“project.json” 我们修改dependencies部分为: "dependencies": { "Microsoft.AspNet.Server.IIS": "1.0.0-beta7", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7", "Microsoft.AspNet.StaticFiles": "1.0.0-beta7", "Microsoft.AspNet.Mvc": "6.0.0-beta7", "EntityFramework.Commands": "7.0.0-beta7", "EntityFramework.SqlServer": "7.0.0-beta7", "Microsoft.Framework.Configuration.Json": "1.0.0-beta7", "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7" }, 在这里添加了对Mvc、EF、Configuration的依赖。 commands 打开文件“project.json” 我们修改commands部分为: "commands": { "web": "Microsoft.AspNet.Hosting --config hosting.ini", "ef": "EntityFramework.Commands" }, commands模块的主要作用是命令行执行,可简化操作,比如实际执行时输入 “ef” 即可代表 “EntityFramework.Commands”。 Model OK,在这里我们先建立文件夹 Models,随后我们在Model文件夹上右键-添加-类: Artist using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace MusicBank.Models { public class Artist { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [Required] public string Name { get; set; } [Required] public int Age { get; set; } public virtual List<Audio> Audio { get; set; } } } 一个歌唱家,有个名字和年龄,然后有N个歌曲。 Audio using System; namespace MusicBank.Models MusicContext 这个想必大家不陌生吧,用于数据库的查询等操作就全靠这个了;算是EF的精髓。 using Microsoft.Data.Entity; namespace MusicBank.Models { public class MusicContext : DbContext { public DbSet<Audio> Audio { get; set; } public DbSet<Artist> Artists { get; set; } } } 这里只需要添加两个表就OK。 SampleData 为了方便,这里我直接在创建数据库的时候就进行数据的初始化工作,添加一些默认数据。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |