vs2015 mvc5+ef6+BootStrap (代码生成数据库)

随着vs2015出来了,小伙伴们可以玩玩新东东了。

对于vs2015的的新东东:

public int?;

public string Name{get;set;}="Peter";

等等,在这里就不详细列举了,想知道的小伙伴可以去http://www.admin10000.com/document/5605.html看看

(当然小伙伴可以直接百度vs2015新特性)

为什么mvc5在这里要和BootStrap放在一起?

因为强大的vs2015把mvc5和BootStrap绑定了!之前easyui被绑了,现在easyui多了BootStrap小伙伴。

当小伙伴们创建mvs5新项目之后会看到有个Models,注意里面的class可以生成数据库里面的Table来用哦。

[DisplayName("分部")]
    public class Part
    {
        [Key]
        public int ID { get; set; }
        [DisplayName("分部名称")]
        [Required()]
        public string PartName { get; set; }
        [DisplayName("分部编码")]
        [Required()]
        public string PartNo { get; set; }

        public virtual ICollection<ApplicationForm> ApplicationForms { get; set; }
        public virtual ICollection<CustomerManager> CustomerManagers { get; set; }
        public static IEnumerable<SelectListItem> GetPartsSelectList()
        {
            var db = new CarLoanDBContext();
            return db.Parts.Select(p => new SelectListItem
            {
                Text = p.PartName,
                Value = p.ID.ToString()
            });
        }
    }

外键表可以这样哦:

public class Contact
    {
        public int ID { get; set; }
        [ForeignKey("ApplicationForm")]
        public int ApplicationFormID { get; set; }
        public virtual ApplicationForm ApplicationForm { get; set; }

        public ContactType ContactType { get; set; }
        [DisplayName("姓名")]
        [StringLength(20)]
        public string Name { get; set; }
        [DisplayName("关系")]
        public ContactsLenderRelationship Relation { get; set; }
        [DisplayName("移动电话")]
        [StringLength(15)]
        public string Mobile { get; set; }
        [StringLength(20)]
        [DisplayName("住宅电话")]
        public string HomeTelephone { get; set; }
        [DisplayName("是否知晓此项贷款")]
        public bool IsKnow { get; set; }
    }

还可以:

public class House
    {
        [ForeignKey("ApplicationForm")]
        public int ID { get; set; }
        public virtual ApplicationForm ApplicationForm { get;set;}

        [DisplayName("是否在本地")]
        public bool? HasHouse { get; set; }
        [DisplayName("居住地址")]
        [StringLength(20)]
        public string LiveAddress { get; set; }

        [DisplayName("是否在本地")]
        public bool? IsLocal { get; set; }

        [DisplayName("是否按揭")]
        public bool? IsLoan { get; set; }

        [DisplayName("购房时间")]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM}", ApplyFormatInEditMode = true)]
        public DateTime? BuyTime { get; set; }

        [DisplayName("房产地址")]
        [StringLength(50)]
        public string Address { get; set; }
        [DisplayName("邮编")]
        [StringLength(20)]
        public string HousePostCode { get; set; }

    }

当然生成Table需要继承下DbContext了,不过mvc5会帮你搞定的。

public class TestDBContext : DbContext
    {
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
        }
    }

如果仅仅是以上的话,个人感觉不方便使用的,小伙伴也发现了吧,数据库在哪?

其实只要项目运行就会在App_Data文件夹下面生成mdf文件。可是每次都要运行下项目才能看待修改过的数据库,很不方便。

先要在项目目录先创建Migrations文件夹,在里面创建一个class:

internal sealed class Configuration : DbMigrationsConfiguration<Models.TestDBContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
            ContextKey = "ScrollTest.Models.TestDBContext";
        }

        protected override void Seed(Models.TestDBContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //
        }
    }

这时候就需要使用 工具-NuGet程序包管理器-  程序包管理控制台

打开之后首先输入

add-migration Initial

完成后在输入

update-database

这个时候就会在App_Data文件夹下面生成mdf文件了,细心的小伙伴会发现Migrations文件夹这时候有个类似

201511100627099_Initial这样的文件,其实它仅仅是记录生成mdf文件的过程,可以删掉。

好了,到这一步,小伙伴可打开服务资源管理器,在数据连接看到数据库了。动手试试吧!

时间: 2024-11-10 01:27:03

vs2015 mvc5+ef6+BootStrap (代码生成数据库)的相关文章

mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理

最近和朋友完成了一个大单子架构是mvc5+ef6+Bootstrap,用的是vs2015,数据库是sql server2014.朋友做的架构,项目完成后觉得很多值得我学习,在这里总结下一些心得. 创建项目一开始删掉App_Start目录下的IdentityConfig.cs和Startup.Auth.cs文件;清空Modle文件夹,Controller文件夹和相应的View; 删除目录下的ApplicationInsights.config文件和Startup.cs文件 修改web.config

【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

目录 [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策略(MVC5+EF6) [第四篇]ASP.NET MVC快速入门之完整示例(MVC5+EF6) 请关注三石的博客:http://cnblogs.com/sanshi 新建项目 打开VS2015,找到菜单项[文件->新建->项目],打开向导对话框: 注意我们的选择项: 1.     运行平台:.NET FrameWork 4.5 2.     项目模板:ASP.NET W

ASP.NET MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统

文章来源: Slark.NET-博客园http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-grid.html 上一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 源码下载:点我下载 要做一个完整的系统,除了需要MVC这样的B/S框架及EF这样的数据库访问技术之外,一个简洁.美观.大方的UI框架也是必不可少的. 话不多说,有请今天的主角登场!! 看看它的自我介绍,是不是很屌.没错,这个介绍一点都不夸

MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统

原文:MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统 文章来源: Slark.NET-博客园http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-grid.html 上一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 下一节:ASP.NET MVC5 + EF6 + Bootstrap3 (8) View中的HtmlHelper用法大全(上) 源码下载:点我下载

VS2015 +EF6 连接MYSQL数据库生成实体

VS2015 +EF6 连接MYSQL数据库生成实体   已安装软件:VS2015 XAMPP Control Panel(Mysql服务器) SQLyog(Mysql 客户端) 使用时: 使用EF设计器 此时此刻,发现二逼了,咋没有mysql????(好吧,上图是用的别人的,本机已经木有这个没有mysql的界面了) 好吧,下面重点: 需要下载安装: 1:mysql-for-visualstudio-1.2.6.msi http://dev.mysql.com/downloads/file/?i

ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 日程管理   http://www.cnblogs.com/ymnets/p/7094914.html 任务调度系统界面 http://www.cnblogs.com/ymnets/p/5065154.html 系统权限全套完整图  http://www.cnblogs.com/ymnets/p/5065201.html 系统

构建ASP.NET MVC5+EF6+EasyUI 1.5+Unity4.x注入的后台管理系统(1)-前言与目录(持续更新中...)

前言: 起初写这个框架的时候,可以说在当时来说并不是很流行的设计模式,那是在2012年,面向对象的编程大家都很熟悉, 但是“注入.控制反转(DI,IOC,依赖注入).AOP切面编程”新兴名词 很多人并不知道特别是从事.NET开发的人,至少在当时 是这么样的,但是在今天它们却是非常流行的技术指标,很多大牛也承认,这是主流的开发模式,你们可以从招聘网的技术岗位看出. 我从事过MVC2.0到5.0的相关开发工作,见证了MVC的成熟演变过程,就像本框架一样,设计模式未曾改变,但是代码一直在重 构.我也坚

[实战]MVC5+EF6+MySql企业网盘实战(13)——思考

写在前面 从上面更新编辑文件夹,就一直在思考一个问题,之前做的编辑文件名已经文件夹名称,只是逻辑上的修改,但是保存的物理文件或者文件夹名称并没有进行修改,这样就导致一个问题,就是在文件或者文件夹修改名称后就会找不到物理文件,因为路径或者文件名错误了.所以就有了这篇文章的思考.当然,修改物理文件确实能实现,但是会频繁的操作io,性能会非常的差,如果一个文件非常大,你可想而知这种效率有多么底下. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+My

MVC5 + EF6 简单示例

本文所使用的软件及环境: Visual Studio Ultimate 2013 (下载地址:http://www.visualstudio.com/downloads/download-visual-studio-vs); MVC5 + EF6 + .NET Framework 4.5 + LocalDB; Windows 7 x64 Professional 说明: 在EF (Entity Framework,以下简称EF6)框架下,操作数据的方式有三种:Database First, Mo