ASP.NET Code First Update-Database
问题描述:
复制了一个模块化的MVC5的项目,模块化的解释是说不同功能的模块分开来放的。
明确每个模块都是做什么工作的。
首先最基本的,就是根据Apps.Models模块来创建数据库了。
做法是卸载Apps.Models以外的7个模块,然后执行命令Update-Database,但是会报错,具体的错误忘记了,反正就是新复制的没有编译过,所以会缺少dll文件导致的。
那正确的步骤是:
复制出来的新项目,第一步需要生成一次,然后卸载除了Apps.Models之外的7个模块,然后有个地方需要选择下
就是这个默认项目,因为其它的已经被卸载了,默认第一次会显示第一个为默认项目,所以生成的时候会报错The EntityFramework package is not installed on project ''
那参照Stackoverflow上的解决方案。http://stackoverflow.com/questions/11923077/the-entityframework-package-is-not-installed-on-project
最后快快乐乐生成了数据库啦。
随着开发工作的继续进行,突然发现,我寄几创建的主键有问题,因为在底层模板认识的主键只能是Id,所以说我的ID就需要修改了,改完model就得涉及重新生成数据库,这家伙直接给我报错,
Multiple identity columns specified for table 'FIX_OrderModel'. Only one identity column per table is allowed.
说一个表只能有一个主键,这个我当然知道啦。
这时,需要先告诉程序,去添加一个合并(如果有问题,就加个参数 -Force)
Add-Migration Initial -Force
然后再执行一次
Update-Database
问题解决,如果还是有报错,那么可能会有警告,按照警告的提示,继续操作即可。
ASP.NET Code First Update-Database的更多相关文章
- WPF 数据绑定 使用Code First with Database
一.准备工作 1.开发工具 Visual Studio 2013 2.安装 Entity Framework 6 Tools for Visual Studio 2012 & 2013 来实现 ...
- 如何在Code First、Database First和Model First之间选择
Code First.Database First和Model First基本图解: 1)Database First: 如果数据库已经存在,可以使用VS自动生成数据模型,已经相关的edmx信息 2) ...
- asp.net Code学习二(使用vs 2015 update 3)
1.在vs 2015上搭建asp.net core: 安装 .Net core sdk.vs2015 tool 即可使用vs 2015开发asp.net core. 2.Net core中国学习小组 ...
- Asp.net mvc + .net ef database first 或 model first 时如何添加验证特性
今天有个同事问到,在使用Entity Framework 的Database frist或model first时,怎么在model上添加验证的特性? 因为此时的Model是是VS 工具怎么生成的,直 ...
- sqlite: Error Code : 5 (SQLITE_BUSY) (database is locked (code 5): , while compiling: PRAGMA journal_mode)
今天遇到了一个很奇怪的问题,登录完成后,程序会莫名crash, 报了下面的错误: sqlite: Error Code : (SQLITE_BUSY) (database is locked (cod ...
- ASP.NET 成功执行Update 的 ExecuteNonQuery() 返回值大于0,但是查看数据库却没有改变
//真实姓名保存 $("#TrueNameSaveBtn").click(function () { if ($("#TrueNameSaveText").va ...
- asp.net Code学习一(vs code跨平台软件操作)
1.命令行: dotnet new -t web 创建web项目 dotnet new restore build pubilsh run test pack dotnet -info / -h do ...
- asp.net Code CSRedis学习记录
1.安装Redis for windows 安装地址 https://github.com/MicrosoftArchive/redis/releases Redis 是完全开源免费的,遵守BSD协议 ...
- EF框架CodeFirst the model backing the 'PModelEntities' context has changed since the database was created. Consider using Code First Migrations to update the database
1.采用code first 做项目时,数据库已经生成,后期修改数据库表结构.再次运行时出现一下问题: Entity Framework : The model backing the 'Produc ...
随机推荐
- 栈和队列&前缀,中缀,后缀
1.堆和栈的区别? (1)栈内存操作系统来分配,堆内存由程序员自己来分配. (2)栈有系统自动分配,只要栈 剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出. 2.栈(线性表) 仅 ...
- 《数据结构》C++代码 堆(优先队列)
堆,是优先队列最常用的一种实现方式.在优先队列中,每个元素都被赋予了一个优先级,而每次出队时都让优先级最高的元素出队.堆,则是一种存储优先队列的方法,特指以一棵树形式存储的优先队列.最常用的是二叉堆, ...
- 自动化测试学习之路--json、dom编程
1.json: json是JavaScript Object Notation,是一种数据传输格式. 以下程序都是在浏览器的Console下执行的. 创建一个javaScript的对象: var st ...
- 珍藏版 Python 开发工程师面试试题
珍藏版 Python 开发工程师面试试题 说明:不拿到几家公司的offer,那就是卑鄙的浪费 一.Python_基础语法 1.可变与不可变类型: 2.浅拷贝与深拷贝的实现方式.区别:deepcopy如 ...
- JNDI和JDBC的区别和联系及其使用方法
一.JNDI 和JDBC的区别和联系 两者都是API,是连接数据库的标准.并不是什么产品或方法. 二.JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样 ...
- ssh-debian87.sh
#!/bin/bash sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config s ...
- [C++] 拓展属性
inline函数 函数重载 占位参数和默认参数 /*__________________________________________________________________ 背景: C++ ...
- BZOJ2756 [SCOI2012]奇怪的游戏 【网络流 + 二分】
题目 Blinker最近喜欢上一个奇怪的游戏. 这个游戏在一个 N*M 的棋盘上玩,每个格子有一个数.每次 Blinker 会选择两个相邻 的格子,并使这两个数都加上 1. 现在 Blinker 想知 ...
- 双系统Ubuntu 无 启用wifi选项
安装好双系统进入ubuntu(14.04)后发现只能用有线连接,不能用wifi.网络连接里无启用wifi选项. 1.查询网卡型号,发现是BCM43132 命令: lspci | grep -i n ...
- Semaphore built from mutex in C++11
#include <mutex> #include <condition_variable> using namespace std; class semaphore{ pri ...