zoukankan      html  css  js  c++  java
  • mvc5+ef6+Bootstrap 项目心得--创立之初

    1.mvc5+ef6+Bootstrap 项目心得--创立之初

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

    3.mvc5+ef6+Bootstrap 项目心得--WebGrid

       在使用ef6的时候,如果木有系统的学习,很多人都是一脸蒙的吧。经过N天的摸索和网上查找资料学习,总结了下。这里简单说一下ef+bootstrap的安装和使用。

      打开vs2015创建web项目,选择Empty,而不是MVC。然后下面有三个勾选项:Web Froms,MVC,Web Application。把MVC的勾选项。然后会看到项目里面只有ControllerS,Models,Views 三个空的文件夹。

      安装ef6的步骤:

    1.   工具——NuGet包管理器——程序包管理控制平台。
    2. 输入“Install-Package EntityFramework” ——回车,等待安装好
    3. 输入“Install-Package bootstrap”

    需要用到的2个模块安装好了。接下来就是使用code first里面的Migrations。

    1. 在Models下创建一个Class作为数据库的Table用。

    2.继承DbContext。

    public class LifeMContext : DbContext
        {
            public LifeMContext() : base("LifeMContext")
            {
    
            }
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            }
    
            public DbSet<User> UserList { get; set; }
            public DbSet<AddressInfo> AddressInfoList { get; set; }
            public DbSet<EnumDictionary> EnumDictionaryList { get; set; }
        }

    3.记得要在web.config里面加上数据库链接

    <connectionStrings>
        <add name="LifeMContext" connectionString="Data Source=(LocalDb)MSSQLLocalDB;AttachDbFilename=|DataDirectory|LifeM.mdf;Initial Catalog=LifeM;Integrated Security=True"
          providerName="System.Data.SqlClient" />
      </connectionStrings>

    4.在程序包管理控制平台输入“enable-migrations -contexttypename LifeManager.Models.LifeMContext”。“enable-migrations -contexttypename” 是命令创建migrations文件夹和Configuration.cs用的。注意是“enable-migrations -contexttypename” 空格不能少。

    internal sealed class Configuration : DbMigrationsConfiguration<LifeManager.Models.LifeMContext>
        {
            public Configuration()
            {
                AutomaticMigrationsEnabled = false;
                ContextKey = "LifeManager.Models.LifeMContext";
            }
    
            protected override void Seed(LifeManager.Models.LifeMContext 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" }
                //    );
                //以下插入数据会出现中文乱码,VS2015需升级update2
                //var guid = Guid.NewGuid().ToString();
                //context.EnumDictionaryList.AddOrUpdate(t=>t.Value, 
                //new EnumDictionary() { GuidKey = guid, Value = "系统管理", Url = "#", ParentGuid = "0", OrderASC = 1, Level = 1 },
                //new EnumDictionary() { GuidKey = Guid.NewGuid().ToString(), Value = "用户管理", Url = "#", ParentGuid = guid, OrderASC = 1, Level = 2 },
                //new EnumDictionary() { GuidKey = Guid.NewGuid().ToString(), Value = "机构管理", Url = "#", ParentGuid = guid, OrderASC = 2, Level = 3 },
                //new EnumDictionary() { GuidKey = Guid.NewGuid().ToString(), Value = "角色管理", Url = "#", ParentGuid = guid, OrderASC = 3, Level = 4 },
                //new EnumDictionary() { GuidKey = Guid.NewGuid().ToString(), Value = "区域管理", Url = "#", ParentGuid = guid, OrderASC = 4, Level = 5 },
                //new EnumDictionary() { GuidKey = Guid.NewGuid().ToString(), Value = "系统安全", Url = "#", ParentGuid = "0", OrderASC = 1, Level = 5 });
                //context.SaveChanges();
            }
        }

    5.在程序包管理控制平台输入“add-migration initial”,等待在输入“update database”。这个时候在项目中有个App_Data文件夹,里面就是数据库啦。之后在Models下创建class或者修改class后,使用“add-migration initial” “update database”2条命令即可更新数据库。注意数据库里面有个“__MigrationHistory”表 一定不能删,一定不能删,一定不能删。后果自己试试就知道了- -!

    如果觉得敲命令麻烦可以使用界面管理NuGet。右键项目——管理NuGet程序包。直接输入“EntityFramework”,“Bootstrap”,下载就好了。需要加NPOI,JSON,Jquery UI等等都可以在这里搜索,安装。

    如果觉得文章不错,请给个推荐(◕ˇ◞◟ˇ◕),谢谢。

  • 相关阅读:
    CF741C.Arpa’s overnight party and Mehrdad’s silent entering [构造 二分图染色]
    CF719E. Sasha and Array [线段树维护矩阵]
    洛谷7月月赛
    CF666B. World Tour
    BZOJ4668: 冷战 [并查集 按秩合并]
    水题练习 2
    CF715B. Complete The Graph
    关于最短路、负环、差分约束系统的一点笔记
    关于最小生成树,拓扑排序、强连通分量、割点、2-SAT的一点笔记
    hdu1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/shootingstar/p/6073006.html
Copyright © 2011-2022 走看看