NetCore 最近很火热。笔者想把自己以前的旧项目迁移到NetCore平台。

先用EFcore的DBFirst根据数据库创建实体类,然后加入数据库版本控制功能也就是EFcore的CodeFirst部分。


引入包  Microsoft.EntityFrameworkCore 和 Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer


先 DBFirst一下
Scaffold-DbContext "Data Source=(localdb)\v11.0;Initial Catalog=master;Integrated Security=True;" -OutputDir Models 很简单,但有时会报错:Build failed.

这个是因为整个项目编译不成功导致的,要确保项目能正常编译成功 再 CodeFirst一下 Add-Migration Init -c  EcolDbContext
 -c 是指定 DbContext 根据自身情况可以不加
生成的项目目录如下

20181016075837_Init.cs 是指当时生成的日期和 Add-Migration Init的 Init组合而成



在项目数据库里执行一下语句。
CREATE TABLE [dbo].[__EFMigrationsHistory] (
    [MigrationId]    NVARCHAR (150) NOT NULL,
    [ProductVersion] NVARCHAR (32)  NOT NULL
); 手动插入数据
insert into ( MigrationId ,ProductVersion) values ('20181016075837_Init' ,'init')

这样以后就可以用 CodeFirst模式升级数据库了
现在简单演示下如何添加表 新建类TestTableData
   public class TestAddData
{
public long Id { get; set; } public string Name { get; set; }
}
在DBContext类里加
 
 public virtual DbSet<TestAddData> TestAddData { get; set; }

执行 包管理命令

Add-Migration AddTable -c  EcolDbContext
update-database -Context EcolDbContext

其他修改也一样


希望对大家有帮助,谢谢观看


												

NetCore 中 EFcore的DbFirst和CodeFirst混合 使用注意的更多相关文章

  1. .NetCore中EFCore的使用整理(二)-关联表查询

    EF常用处理关联加载的方式有3中:延迟加载(Lazy Loading).贪婪加载 (Eager Loading)以及显示加载. 一.EF Core  1.1 1.当前的版本,还不支持延迟加载(Lazy ...

  2. .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql

    一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrame ...

  3. .NetCore中EFCore for MySql整理(二)

    一.简介 EF Core for MySql的官方版本MySql.Data.EntityFrameworkCore 目前正是版已经可用当前版本v6.10,对于以前的预览版参考:http://www.c ...

  4. .NetCore中EFCore的使用整理(三)-关联表操作

    一.查询关联表数据 StudyAboard_TestContext _context = new StudyAboard_TestContext(); CrmRole role = _context. ...

  5. .NetCore中EFCore的使用整理

    EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术. 其中的.NetCore版本对应EntityFrameworkCore Git源代码地址:https://git ...

  6. .NetCore中EFCore for MySql整理

    一.MySql官方提供了Ef Core对MySql的支持,但现在还处于预览版 Install-Package MySql.Data.EntityFrameworkCore -Pre Install-P ...

  7. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  8. netcore使用EFcore(第一个实例)

    说明:搭建netcore 使用efcore入门教程,跟着这个教程,傻瓜都可以成功!O(∩_∩)O哈哈~,咱们开始吧: 首先介绍下环境: vs2017, netcore2.2, EntityFramew ...

  9. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

随机推荐

  1. Java几种常见的四舍五入的方法

    /* * 在上面简单地介绍了银行家舍入法,目前java支持7中舍入法: 1. ROUND_UP:远离零方向舍入.向绝对值最大的方向舍入,只要舍弃位非0即进位. 2. ROUND_DOWN:趋向零方向舍 ...

  2. springMVC中Restful支持

    RESTFul支持 http://localhost:8090/user/doAdd.action?username=tony&age=8 http://localhost:8090/user ...

  3. MyEclipse中快捷键

    ------------------------------------- MyEclipse 快捷键1(CTRL) ------------------------------------- Ctr ...

  4. iOS开发- 自己主动消失的弹出框

    - (void)timerFireMethod:(NSTimer*)theTimer//弹出框 { UIAlertView *promptAlert = (UIAlertView*)[theTimer ...

  5. linux的chmod命令

    chmod命令用来变更文件或目录的权限.在UNIX系统家族里,文件或目录权限的控制分别以读取.写入.执行3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录的权限, ...

  6. MS project 使用小技巧收集

    如何使用的url: http://www.cnblogs.com/wangfupeng1988/p/3648994.html  (好文,易上手) 一.  如何设置周末为工作日. 1. 在 “工具”-& ...

  7. web.xml文件中配置mime下载文件类型(转)

    转自:http://5aijava.iteye.com/blog/166600 TOMCAT在默认情况下下载.rar的文件是把文件当作text打开,以至于IE打开RAR文件为乱码,如果遇到这种情况时不 ...

  8. linux 修改时间

    实例:设置时间伟2008年8月8号12:00# date -s "2008-08-08 12:00:00"修改完后,记得执行clock -w,把系统时间写入CMOS date -s ...

  9. 单用户模式下mount -o remount,rw / 有大用途

    我们的Linux系统在无法启动时候,通常需要进入单用户模式下进行修改一些配置文件,或调整一些参数方可.但是在进入单用户模式后,我们的/文件系统是只读模式,无法进行修改,那么这个时候我们就需要用到一条命 ...

  10. 基于Jekyll的博客模板

    代码地址如下:http://www.demodashi.com/demo/13147.html 效果 环境配置 环境 Windows 10 Git Bash 安装ruby 下载rubyinstalle ...