小编Fáb*_*iro的帖子

EF6 MySql:Update-Database -Script生成不带分号的SQL

将EF6与MySql一起使用时,我遇到以下不安情况:每次创建新的迁移时,我都会将更改应用到我的开发环境中

     Update-Database
Run Code Online (Sandbox Code Playgroud)

但是当我想为我的其他环境生成SQL脚本(并保持源代码管理)时,我会使用

     Update-Database -Script
Run Code Online (Sandbox Code Playgroud)

生成的SQL是这样的:

CREATE TABLE `AddressType` (`Id` NVARCHAR(10)  NOT NULL ,`Description` NVARCHAR(30)  NOT NULL ,PRIMARY KEY ( `Id`) ) ENGINE=INNODB AUTO_INCREMENT=0
CREATE TABLE `Bank` (`Id` INT NOT NULL ,`CNPJ` BIGINT NOT NULL ,`Name` NVARCHAR(100) ,`WebSite` NVARCHAR(500) ,PRIMARY KEY ( `Id`) ) ENGINE=INNODB AUTO_INCREMENT=0
Run Code Online (Sandbox Code Playgroud)

当我尝试在SQLyog上运行生成的脚本并运行它时,我得到一个错误,我的脚本语法无效.我相信这是因为EF在它结尾处只添加了一个分号,因为它在我手动添加分号时运行.添加分号时遇到的一个问题是,如果脚本因某种原因失败,数据库处于不一致状态,这意味着迁移系统将失败,因为表/列已经存在.

是否有任何设置在每个语句后自动添加分号?在运行我的脚本/迁移时,有什么办法可以让MySql做或不做任何事情吗?

谢谢.

mysql entity-framework

6
推荐指数
1
解决办法
586
查看次数

标签 统计

entity-framework ×1

mysql ×1