EF CodeFirst Dome学习_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > EF CodeFirst Dome学习

EF CodeFirst Dome学习

 2017/9/6 19:09:07  net小雪  程序员俱乐部  我要评论(0)
  • 摘要:创建ConsoleDome控制台应用程序从NuGet包管理器安装EntityFramework创建DbContextDome类并继承DbContextpublicclassDbContextClass:DbContext{///<summary>///ConnectionString就是在config中设置的数据库链接字符串///</summary>publicDbContextClass():base("ConnectionString"){
  • 标签:学习

创建ConsoleDome控制台应用程序

从NuGet包管理器安装EntityFramework

 

创建DbContextDome类并继承DbContext

class="brush:csharp;gutter:true;">public class DbContextClass : DbContext
    {
        /// <summary>
        /// ConnectionString就是在config中设置的数据库链接字符串
        /// </summary>
        public DbContextClass()
            : base("ConnectionString")
        { }

        public DbSet<user> user { get; set; }

        public DbSet<BlogModel> blog { get; set; }
    }

设置config

<connectionStrings>
    <add name="ConnectionString" connectionString="server=.;database=EFCodeFirstDB;uid=***;pwd=***" providerName="System.Data.SqlClient"/>
  </connectionStrings>

创建实体模型

 public class user
    {
        public int id { get; set; }

        public string username { get; set; }

        public string pwd { get; set; }

        [Column(TypeName = "nvarchar")]
        [MaxLength(200)]
        public string Email { get; set; }
        public string pwdd { get; set; }
    }

 public class BlogModel
    {
        public int id { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Tiele { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TieleUrl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Content { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ImgUrl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime CreateDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ReadNumber { get; set; }
    }

  在程序包管理器控制台执行Enable-Migrations来创建Configuration配置ef

 

最后执行Update-Database -Verbose来更新数据库

 

附加codefirst命令

一、Enable-Migrations

  说明:为项目启用迁移。此命令为项目添加Migrations文件夹,其中包括两个文件:

    Configuration类:此类允许针对上下文配置迁移的行为

    InitialCreate迁移:此迁移在启用迁移之前生成。如果在启用迁移之前没有生成数据库,则不会将此文件加入到项目中,而是在首次调用"Add-Migration"命令时生成。

  语法:Enable-Migrations

 

二、Add-Migration

  说明:根据上一次迁移以来对模型所做的更改,为下一次迁移搭建基架。

  语法:Add-Migration "[Name]"

     Name:迁移显示名字,将与当前生成文件时间戳构成生成的迁移文件名

 

三、Update-DataBase

  说明:将所有挂起的迁移应用与数据库

  语法:Update-Database -[Option]

     Option:Vcrbose 在控制台显示迁移所运行的SQL

          TargetMigration:[Name] 迁移到特定的版本,如果需要回滚到空数据库,则可以将[Name]写为$InitialDatabase

          Script 是迁移生成脚本而不执行

          SourceMigration:[Name]源迁移

 

四、自动迁移

  说明:在部署应用程序时希望在应用程序启动时通过虽有挂起的迁移自动升级数据库

  代码:Database.SetInitializer(new MigrateDatabaseToLatestVersion<DbContext, Configuration>()); 

发表评论
用户名: 匿名