1.程序包管理控制器 执行命令Add-Migration 输入Name (类似于次此迁移的备注信息)
2.PM> Update-Database
C# 使用Code First迁移更新数据库
三步完成迁移:
1. 启用迁移: Enable-Migrations
Enable-Migrations -ContextTypeName Mvc4WebSite.Models.MvcGuestbookContext
迁移 Mvc4WebSite项目下的MvcGuestbookContext。迁移成功提示:已为项目 Mvc4WebSite 启用 Code First 迁移。
2. 添加迁移: Add-Migration
Add-Migration InitialCreate
3. 将迁移更新到数据库:Update-Database
Update-Database -Verbose
这样,就完成了更新数据库。
# EF Code First 生成数据库命令
### 步骤:
1. 生成migration
> Add-Migration
2. 生成数据库
> Update-Database
3. 生成SQL
> Script-Migrations
常用HTTP状态码
200 请求成功
302 重定向
304 使用本地缓存
400 客户端请求的语法错误,服务器无法理解
401 请求要求用户的身份认证
404 服务器无法根据客户端的请求找到资源(网页)
403 无该页面的权限,被禁止使用
500 服务器内部错误,无法完成请求
## CentOS7 部署说明
1. vs 发布为: Linux_x64 + 独立部署
2. 拷贝到CentOS7的 /opt/input/api 目录下
3. 添加执行权限: chmod +x /opt/input/api/Qhbx.Tracebility.Input.Api
4. Systemd运行
```
vi /etc/systemd/system/input_api.service
内容如下:
[Unit]
Description=投入品API
After=syslog.target
After=network.target
[Service]
WorkingDirectory=/opt/input/api
ExecStart=/opt/input/api/Qhbx.Tracebility.Input.Api --urls=http://0.0.0.0:7002
Restart=always
RestartSec=10
SyslogIdentifier=input_api
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
启用服务: systemctl enable input_api
启动服务: systemctl start input_api
配置防火墙: firewall-cmd --zone=public --add-port=7002/tcp --permanent
重新加载防火墙配置: firewall-cmd --reload
```
### 异常
1. icu
netcore运行依赖库icu, 否则会出现如下错误:
> Couldn't find a valid ICU package installed on the system
解决办法
```
# yum install icu
```
2. libgdiplus
System.Drawing.*在Linux中依赖库libgdiplus。否则会出现如下错误:
> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies.
解决办法:
```
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum install libgdiplus
```