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的步骤:
- 工具——NuGet包管理器——程序包管理控制平台。
- 输入“Install-Package EntityFramework” ——回车,等待安装好
- 输入“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等等都可以在这里搜索,安装。
如果觉得文章不错,请给个推荐(◕ˇ◞◟ˇ◕),谢谢。