Bug反馈,如果可以请尽快修复它 返回
bug表结构
/*
Navicat Premium Data Transfer
Source Server : EHS DEV
Source Server Type : MySQL
Source Server Version : 50720
Source Host : 172.20.1.205:3306
Source Schema : xdb_forkliftbonus
Target Server Type : MySQL
Target Server Version : 50720
File Encoding : 65001
Date: 22/01/2021 00:53:35
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tb_aa009_serial_number
-- ----------------------------
DROP TABLE IF EXISTS `tb_aa009_serial_number`;
CREATE TABLE `tb_aa009_serial_number` (
`NoID` varchar(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`NoValue` int(11) NOT NULL,
`NoRemark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`CreateID` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`UpdateTime` datetime(0) NOT NULL,
PRIMARY KEY (`NoID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '自動生成不重複序列ID' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of tb_aa009_serial_number
-- ----------------------------
INSERT INTO `tb_aa009_serial_number` VALUES ('EHSAA', 346, '待處理', '', '2018-08-09 03:38:24');
INSERT INTO `tb_aa009_serial_number` VALUES ('EHSAB', 1314, '待處理', '', '2018-08-18 06:19:04');
INSERT INTO `tb_aa009_serial_number` VALUES ('EHSAC', 163, '待處理', '', '2018-08-18 06:19:04');
INSERT INTO `tb_aa009_serial_number` VALUES ('EHSAD', 1109, '調倉ID', '', '2018-09-16 23:09:00');
INSERT INTO `tb_aa009_serial_number` VALUES ('ISAA', 40, '權限ID', 'aa68cf34-0b25-4c35-a69e-5ede047e2249', '2017-10-04 21:49:35');
INSERT INTO `tb_aa009_serial_number` VALUES ('ISAB', 10, '角色ID', 'aa68cf34-0b25-4c35-a69e-5ede047e2249', '2017-08-15 23:39:29');
INSERT INTO `tb_aa009_serial_number` VALUES ('ISAC', 1224, '上傳圖片ID', 'aa68cf34-0b25-4c35-a69e-5ede047e2249', '2018-08-06 22:14:00');
INSERT INTO `tb_aa009_serial_number` VALUES ('ISAD', 147, '異常ID', 'aa68cf34-0b25-4c35-a69e-5ede047e2249', '2018-08-01 19:42:00');
INSERT INTO `tb_aa009_serial_number` VALUES ('ISAE', 78, '操作失誤ID', 'aa68cf34-0b25-4c35-a69e-5ede047e2249', '2018-08-21 18:43:00');
INSERT INTO `tb_aa009_serial_number` VALUES ('Y1P0', 511, '用戶ID', 'aa68cf34-0b25-4c35-a69e-5ede047e2249', '2018-08-01 19:42:00');
SET FOREIGN_KEY_CHECKS = 1;以下为问题测试代码
var insertResult = await _bllTbAa009SerialNumber.InsertUpdateListTask(new List<tb_aa009_serial_number_Result>
{
new tb_aa009_serial_number_Result
{
NoID="TEST",
NoRemark="Test",
CreateID="",
NoValue=0,
UpdateTime=DateTime.MinValue
}
});请注意方法名都一样 , 测试参数也一样 , 就是方法下面的代码有差别 , 可以正常 Insertable , 但是不能Saveable , 注意两次测试都是清理了上一次操作后的结果后进行的
能够insert的代码
public async Task<bool> InsertUpdateListTask(List<tb_aa009_serial_number_Result> inList, string OperationID = "")
{
var inSqlList = inList.ResultListToInList();
return await DbAsync.Insertable<tb_aa009_serial_number>(inSqlList).RemoveDataCache().ExecuteCommandAsync() > 0;
}不能够Saveable 的代码
public async Task<bool> InsertUpdateListTask(List<tb_aa009_serial_number_Result> inList, string OperationID = "")
{
var inSqlList = inList.ResultListToInList();
return await DbAsync.Saveable<tb_aa009_serial_number>(inSqlList).RemoveDataCache().ExecuteCommandAsync() > 0;
}以下为不能Saveable的代码所报的错误
SqlSugar.SqlSugarException : Need primary key
热忱回答(10)
-
Aaron 傲 VIP0
2021/1/22请注意是mysql数据库 .
0 回复 -
fate stay night VIP0
2021/1/22Need primary key 这个错不是很明显了吗,需要主键
0 回复 -
Aaron 傲 VIP0
2021/1/22@fate stay night:请注意我的sql文件结构哦。
PRIMARY KEY (`NoID`) USING BTREE
0 回复 -
fate stay night VIP0
2021/1/22@Aaron 傲:实体配置成功了吗
0 回复 -
fate stay night VIP0
2021/1/22用initkey.attribute 并且实体设置主键
0 回复 -
Aaron 傲 VIP0
2021/1/22@fate stay night:明天我再试试吧.
0 回复 -
Aaron 傲 VIP0
2021/1/23@fate stay night:比较有意思 , 我按照你这样设置后就可以了 , 但是我并不想每个表都这样子设置,每个实体都添加特征 , 实际上, 我给你看的那份Sql文件 , 是从数据库导出出来的 , 所以数据库肯定是设置了一个主键的 .
目前我数据库的变动都是通过DbUp来更新的 , sqlsugar的那个生成数据表是不能满足我的需求的 .
不过我其他的表使用Saveable , 没有进行这样的配置 , 并不会出现主键检查不到的问题, 我也没有在任何实体上面配置
[SugarColumn(IsPrimaryKey = true)]
如果可以还麻烦帮手看看是不是触到了什么关键字 , 不然我每个实体都要修改一次 . 挺棘手的.
0 回复 -
Aaron 傲 VIP0
2021/1/23@fate stay night:经过测试可以不配置
InitKeyType = InitKeyType.Attribute
但是如果想使用Saveable , 就一定要配置
[SugarColumn(IsPrimaryKey = true)]
经过检查我前几张使用Saveable成功的表, 也是配置了
[SugarColumn(IsPrimaryKey = true)]
想知道这是不是正常 ?
0 回复 -
fate stay night VIP0
2021/1/23肯定要配置主键
0 回复 -
fate stay night VIP0
2021/1/23或者wherecolumn
0 回复