【发布时间】:2015-06-22 12:12:09
【问题描述】:
我有一个奇怪的问题,BLToolkit 在我们的数据库中保存 NULL 而不是 0。
如果您查看图像,这是我将保存的值。 (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)
【问题讨论】:
-
请提供
UpdateValue类定义 -
@ili
UpdateValue只是一个IList<TEntity>。我更新以包含整个功能。对不起。 -
TEntity是如何定义的?如果[Nullable]属性定义在 property\field 上,则可能会发生这种情况 -
@ili 我找到了问题 BLToolkit 代码,你可以在 Github 上查看我的问题 github.com/igor-tkachev/bltoolkit/issues/369
标签: c# sql-server database stored-procedures bltoolkit