code first从入门到伪精通
新入职一家公司,虽然之前也用ef,但是方式不一样,之前用的db,现在用代码先行的code,基于现有公司基本项目框架都是用的code,所以一步登顶,从最实战的角度去操作code,心颤的很,废话不多说,开始重要环节:
1,重复的一些安装操作就不再多说了,百度都有,我只讲我遇到的一些个问题点
2,通常我们进行操作迁移的时候,是不是基本都是Enable-Migrations这样,但是如果碰到这样的呢

咋办呢,其实也很简单,英语好的同学自行翻译,英语不好的同学浏览器地址栏fanyi.baidu.com,其实出来的意思都是一样的,多个上下文,其实这就是实战当中碰到的,因为一般的只会有一个,但是项目为了应对不同的需求会用到多个上下文关联一个或多个数据库,
所以解决起来也简单,要用哪个就复制哪个出来执行就完事了
(最后面这个)
3,
这个似曾相识吧,其实就是上面的命令已经成功,接着执行下面的命令了
好了,说完了,就这样!
4,并没有,还有一个最重要的问题怎么更改decimal等浮点型数字的精度呢,刚开始也一直桌面在之前的实体里面加头,跟加字段约束一样的,但是太复杂又不符合项目书写规范,找了很久,后面在一个叫老饭饭的大佬的指导下,我顺势找到了方 法,也符合了项目的书写规范,具体实现也很简单,不废话,上代码

能看明白不,就是在你需要用的的上下文里面重写一个方法,调用ef相关的东西,然后去更改字段的精度和长度,然后再执行上面的操作,直到看到数据库字段的精度和长度改变为止,
还有一种方式是可以先执行Add-Migration "版本名称"生成一个空的Migrations日志,然后再在里面写入需要更改的字段,像这样
然后再执行Update-Database命令,如果执行以后数据库字段还是没有改变,可上数据库查询表__MigrationHistory,删除最新的自己执行的那条(些)操作的记录然后继续Update-Database命令,直到数据库字段更新为止!
另附上一个大佬写的比较标准的文章供参考https://www.cnblogs.com/libingql/p/3330880.html
完毕等下班!

code first从入门到伪精通的更多相关文章
- Asp.Net EF Code First 简单入门
今天在上班期间花了点时间学习了一下微软的EntityFramework Code First技术,这篇文章只是简单的入门,不多废话,下面直入主题. 一.首先添加一个解决方案,接着添加一个web网站,D ...
- SQL Server2008从入门到全面精通 SQL数据库视频教程
第1章 SQL Server 2008入门知识:1.SQL SERVER 2008简介2.数据库概念3.关系数据库4.范式5.E-R模型6.SQL Server 2008体系结构7.安装IIS服务8. ...
- Kafka入门初探+伪集群部署
Kafka是目前非常流行的消息队列中间件,常用于做普通的消息队列.网站的活性数据分析(PV.流量.点击量等).日志的搜集(对接大数据存储引擎做离线分析). 全部内容来自网络,可信度有待考证!如有问题, ...
- PHP博大精深,入门容易,精通难,怎么才能真正学好PHP
基础最重要 (1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度 (2)理解动态语言的概念,运做机制,熟悉PHP语法 (3)学习如何将PHP与HT ...
- Hadoop大数据初入门----haddop伪分布式安装
一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...
- 1-3:CSS3课程入门之伪类和伪元素
E:target 表示当前的URL片段的元素类型,这个元素必须是E E:disabled 表示不可点击的表单控件 E:enabled 表示可点击的表单控件 E:checked 表示已选中的checkb ...
- ajax从入门到深入精通
前言 ajax全称Asynchronous Javascript and XML.其中Asynchronous代表异步.同步于异步是描述通信模式的概念,同步机制:发送方发生请求后,需要等待接收到接收方 ...
- 详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation
一. 伪分布模式Pseudo-Distributed Operation 这里关于VM虚拟机的安装就不再介绍了,详细请看<VMware虚拟机的三种网络管理模式>一章介绍.这章只介绍hado ...
- Graphviz从入门到不精通
1.安装Graphviz (windows 版本,后面说linux下的安装) 1.1)下载安装文件 从graphviz官网下载 http://www.graphviz.org/Download.php ...
随机推荐
- Qt widget使用QML自定义导航栏
具体方法: https://www.cnblogs.com/judes/p/11359243.html qml: import QtQuick 2.0 import QtQuick 2.9 impor ...
- Linux记录-批量安装zabbix(转载)
同一文件夹下建立pwd.txt,格式如下: ip username password ip username password #!/bin/bash cat pwd.txt | while read ...
- DBGridEh中根据单价和数量如何计算金额?
单价和数量输入完后,在数量单元格往任何方向移动(上下左右),金额都能自动计算.如何实现? 不要在UI元素的事件中计算字段,你可以在单价字段和数量字段的OnChange事件中进行计算.假设数据集名称为D ...
- Elasticsearch - 处理冲突
http://blog.csdn.net/xifeijian/article/details/49615559
- PHPStudy后门事件分析
PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门.经过分析除了有反向连接木马之外,还可以正向执行任意php代码. 影响版本 P ...
- Xpath定位和CSS定位(***重)
1.XPath是一种在XML文档中定位元素的语言.因为HTML可以看作XML的一种实现, 所以Selenium用户可以使用这种强大的语言在Web应用中定位元素. 1.1 绝对路径定位 参考baidu. ...
- gcr 镜像无法下载问题
GCR Proxy Cache 帮助 GCR Proxy Cache服务器相当于一台GCR镜像服务器,国内用户可以经由该服务器从gcr.io下载镜像. 使用GCR Proxy Cache从gcr.io ...
- 使用Maven为SpringBoot项目打包
一.maven通过命令行打jar包 进入项目目录,执行如下命令: mvn -Dmaven.test.skip -U clean package 发现报如下错误: [ERROR] Failed to e ...
- Django的小记
大致按流程列出来 在pycham中创建Django project时要确定机器上的版本及你要用的版本,机器上一般情况下默认最新版本2.1(2018年11月),根据需要下载相应版本 创建好工程后就要创建 ...
- [转帖]Linux系统进程的知识总结,进程与线程之间的纠葛...
Linux系统进程的知识总结,进程与线程之间的纠葛... https://cloud.tencent.com/developer/article/1500509 当一个程序开始执行后,在开始执行到执行 ...