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 ...
随机推荐
- Wpf 关闭当前窗体 打开新窗体
MainWindow mainWindow = new MainWindow("/pages/ProductionInfo/ProductionFacts.xaml"); Wind ...
- Java socket详解
参考 https://www.jianshu.com/p/cde27461c226 刚给大家讲解Java socket通信后,好多童鞋私信我,有好多地方不理解,看不明白.特抽时间整理一下,详细讲述Ja ...
- 123457123456#0#----com.tym.ErTongFanPai20--前拼后广--儿童FanPai_tym
com.tym.ErTongFanPai20--前拼后广--儿童FanPai_tym
- ABAP DEMO ALV-监听数据修改
*&---------------------------------------------------------------------* *& Report YDEMO_006 ...
- Jackson解析自定义json到实体类
json文本 { "status": 0, "result": { "final": true, "hypotheses" ...
- Python - Django - 在 CBV 中使用装饰器
urls.py: from django.conf.urls import url from app02 import views urlpatterns = [ # app02 url(r'^app ...
- AD 常用策略
配置WSUS 配置NTPS 配置用户配置文件漫游 配置漫游区磁盘配额 配置修改本地管理员用户名 配置修改本地管理员密码 配置网络验证(提示是否联网错误) 配置允许开设永久共享 配置允许开设共享打印机 ...
- (二十三)IDEA 构建一个springboot工程,以及可能遇到的问题
一.下载安装intellij IEDA 需要破解 二.创建springboot工程 其他步骤省略,创建好的工程结构如下图: 三.配置springoboot工程 3.1 如上图src/main目录下只有 ...
- sklearn简单线性回归
from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_ ...
- 迅速生成项目-vue-cli-service
推荐指数: