BLToolKit 保存 null 而不是 0

BLToolKit save null instead of 0

我有一个奇怪的问题,BLToolkit 在我们的数据库中保存 NULL 而不是 0。

Demo to reproduce the bug

如果你看图片,这就是我要保存的值。 (gIdx 代表 GroupIndex)

这是数据库中的结果。如果您查看 GroupIndex 列,我只有 1 和 2。(这种情况也发生在 SortIndex 列上)

这是我的存储过程。该列只是一个 NULL, INT

USE [ASTUSADMINISTRATION]
GO
/****** Object:  StoredProcedure [dbo].[stpr_GridColumnLayout_Update]    Script Date: 2015-06-22 08:08:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[stpr_GridColumnLayout_Update]
    @ID AS [usrID],  
    @Width AS int,
    @Index AS int,
    @IsCellMerged AS [usrBoolean],
    @GroupIndex AS int,
    @SortIndex AS int,
    @SortDirectionType AS int,
    @SummaryItemType AS int,
    @UpdatedDate AS datetime OUTPUT,
    @UpdatedUser AS [usrUsername]
AS
BEGIN
    SET NOCOUNT ON

    SET @UpdatedDate = GETDATE()

    -- Vérifier si c'est un groupe système
UPDATE [dbo].[GridColumnLayout] SET
    [Width] = @Width,
    [Index] = @Index,
    [IsCellMerged] = @IsCellMerged,
    [GroupIndex] = @GroupIndex, 
    [SortIndex] = @SortIndex,
    [SortDirectionType] = @SortDirectionType,
    [SummaryItemType] = @SummaryItemType,
    [UpdatedDate] = @UpdatedDate, 
    [UpdatedUser] = @UpdatedUser
  WHERE [GridColumnLayoutID] = @ID
END

类似的问题发生在字符串上。仅保存 1 个字符。 ( more detail here )

该错误已于 2015 年 7 月 27 日修复

这实际上是 BLToolkit 在使用存储过程插入数据库时​​使用 ExecuteForEach 方法时的一个错误。

See the issue on the GitHub project