sqlsugar达梦数据库大数据写入自增列报错 返回

SqlSugar 沟通中
3 292
该叫什么 set 发布于2025/11/17
悬赏:0 飞吻

sqlsugar使用await _db.Fastest<YW_StaNodeHour().PageSize(10000).BulkCopyAsync(resSummaryHour);时报错 Dm.DmException:“仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值 [sql]: {insert into "YW_STANODEHOUR"(ID, STANODEID, ENERGYCOST, EQUVALUE, CHARGE, CARBONEMISSION, GJCONVERSION, JENERGYCOST, FENERGYCOST, PENERGYCOST, GENERGYCOST, JCHARGE, FCHARGE, PCHARGE, GCHARGE, JFPGTYPE, STATICTIME, CREATETIME, ETLSTATICTIME, ISMANUAL) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}; [params]: {:ID=System.Object[]} {:STANODEID=System.Object[]} {:ENERGYCOST=System.Object[]} {:EQUVALUE=System.Object[]} {:CHARGE=System.Object[]} {:CARBONEMISSION=System.Object[]} {:GJCONVERSION=System.Object[]} {:JENERGYCOST=System.Object[]} {:FENERGYCOST=System.Object[]} {:PENERGYCOST=System.Object[]} {:GENERGYCOST=System.Object[]} {:JCHARGE=System.Object[]} {:FCHARGE=System.Object[]} {:PCHARGE=System.Object[]} {:GCHARGE=System.Object[]} {:JFPGTYPE=System.Object[]} {:STATICTIME=System.Object[]} {:CREATETIME=System.Object[]} {:ETLSTATICTIME=System.Object[]} {:ISMANUAL=System.Object[]};”

但是直接使用await _db.Insertable(resSummaryHour).ExecuteCommandAsync();能正常插入数据

[SugarTable("YW_STANODEHOUR")]
public class YW_StaNodeHour
{
    /// <summary>
    ///
    /// </summary>
    [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] //设置主键
    public long ID { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public long? StaNodeID { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public decimal? EnergyCost { get; set; }
}
                var resSummaryHour = await _db.Queryable<YW_MonitorPointHour>()
                    .InnerJoin<CM_StatisticFormula>((t1, t2) => t1.PointID == t2.SourceID)
                    .InnerJoin<CM_StatisticsNode>((t1, t2, t3) => t2.StaNodeID == t3.ID)
                    .Where((t1, t2, t3) => t1.StaticTime >= startTime && t1.StaticTime <= endTime && t3.StatisticsType == 1)
                    .GroupBy((t1, t2, t3) => new { t1.StaticTime, t1.JFPGType, t2.StaNodeID })
                    .Select((t1, t2, t3) => new YW_StaNodeHour
                    {
                        StaNodeID = t2.StaNodeID,
                        EnergyCost = SqlFunc.AggregateSum(t1.EnergyCost),
                    }).Take(5).ToListAsync();
                await _db.Fastest<YW_StaNodeHour>().BulkCopyAsync(resSummaryHour);


热忱回答3

  • fate sta fate sta VIP0
    2025/11/17

    达梦bulkcopy不支持自增列。

    0 回复
  • set set VIP0
    2025/11/17

    @fate sta:有什么其他解决方案吗


    0 回复
  • fate sta fate sta VIP0
    2025/11/18

    SqlSugarCore 5.1.4.209-preview01

    过五分钟安装预览版本。已支持。

    0 回复