执行 DbCommand 失败
Posted
技术标签:
【中文标题】执行 DbCommand 失败【英文标题】:Failed executing DbCommand 【发布时间】:2021-10-26 11:13:46 【问题描述】:我在尝试使用 IdentityDbContext 更新数据库后遇到了这个问题
Failed executing DbCommand (8ms)
[Parameters=[], CommandType='Text', CommandTimeout='30']
CREATE TABLE `AspNetUserRoles` (
`UserId` varchar(767) NOT NULL,
`RoleId` varchar(767) NOT NULL,
PRIMARY KEY (`UserId`, `RoleId`),
CONSTRAINT `FK_AspNetUserRoles_AspNetRoles_RoleId` FOREIGN KEY (`RoleId`) REFERENCES `AspNetRoles` (`Id`) ON DELETE CASCADE,
CONSTRAINT `FK_AspNetUserRoles_AspNetUsers_UserId` FOREIGN KEY (`UserId`) REFERENCES `AspNetUsers` (`Id`) ON DELETE CASCADE
);
【问题讨论】:
您使用的是哪个 DBMS? mysqlWorkBench. 指定的密钥太长;最大密钥长度是 3072 字节我也有这个问题 嗯 767 + 767 = 1534 所以不清楚为什么会这样。但是 767 对于一个 ID 来说听起来很长,你能不能把它缩短一点? builder.Entity首先你可以检查数据库中的表。如果有表,你可以改变表
【讨论】:
以上是关于执行 DbCommand 失败的主要内容,如果未能解决你的问题,请参考以下文章
在迭代 DbDataReader 之前处理 DbCommand 是不是可以
我可以判断 ado.net DbCommand 是不是是查询(在执行之前)
从 DbCommand.ExecuteReader 中的 Linq 选择中没有记录添加到 DataTable
DataReader + MySql 连接器 + Dispose
哪位高手简洁分析下ADO.NET中的常用对象:DataAdapter、Command、DataSet的使用情况。。非常感谢!!