[英]c# EF Core Migration code First invalid column
我为SQLite的Core-Projekt做过几次迁移,现在我尝试从SQLite切换到SQL。
不幸的是,我得到一个“ System.Data.SqlClient.SqlException(0x80131904):无效的columnname1'columnname1'。无效的columnname2'columnname2'。”-我现有的SQL语句异常。
使用类似
migrationBuilder.Sql("INSERT INTO tablename ('columnname1', 'columnname2 ') VALUES ('columnname1value','columnname2value')");
在SQLite下,它可以正常工作。
由于SQL和SQLite之间的命名竞争不同,我试图将“ dbo。”-前缀添加到表名。 同样的错误。
由于语句的原因,未在数据库中创建脚本中定义的表
创建表后,我尝试在迁移中分离SQL语句。 已创建定义的表,但存在相同错误。
不允许选择种子,因为在某些迁移中,我使用update或delete语句。
我的陈述错了什么? 它是语法还是逻辑问题,还是我一直都做错了,我很幸运在SQLite下工作。
谢谢你的回答
对于所有其他遇到相同问题的男女生。 这是我的解决方案:
sle1306得到了正确的提示。 删除语法错误我将引号更改为方括号。
要使其与SQLite和MS SQL一起使用:在所有表上展开生成的SQLite代码
Id = table.Column<int>(nullable: false) .Annotation("Autoincrement", true)
用/
Id = table.Column<int>(nullable: false) .Annotation("Autoincrement", true).Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
现在它适用于我的两个数据库
对于所有其他遇到相同问题的男女生。 这是我的解决方案:
sle1306得到了正确的提示。 删除语法错误我将引号更改为方括号。
要使其与SQLite和MS SQL一起使用:在所有表上展开生成的SQLite代码
Id = table.Column<int>(nullable: false) .Annotation("Autoincrement", true)
用/
Id = table.Column<int>(nullable: false) .Annotation("Autoincrement", true).Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
现在它适用于我的两个数据库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.