我有一张表,其中包含一个名为Days1的定义字段decimal(5,2)
此表映射到edmx文件中,并且有一个将值插入此表的过程。使用实体框架对十进制数进行缩放
每当我试着用我的代码
x.Days1 = 7.5;
我得到以下错误插入值7.5:
如果我没有错误发生相同的值执行该过程。 如果我把价值7.51我的代码:
x.Days1 = 7.51
出现任何错误。我认为问题出在点之后的数字。我有值7.5〜我怎么可以把它作为7.50
存储过程是什么:
ALTER PROCEDURE [dbo].[proc_EmployeeBalanceInsert]
(
@EmployeeBalanceID char(36),
@EmployeeID char(36),
@LeaveRegulationID char(36),
@AttendanceTypeID char(36),
@BalanceOpenDate datetime,
@DateFrom datetime,
@DateTo datetime,
@BalanceUpToDate datetime = NULL,
@ValidUntilDate datetime,
@LeaveTransactionTypeID char(1) ,
@TransactionSign int = NULL,
@Days1 decimal(5,2) = NULL,
@Days2 decimal(5,2) = NULL,
@Days3 decimal(5,2) = NULL,
@Days4 decimal(5,2) = NULL,
@Days5 decimal(5,2) = NULL,
@System int = NULL,
@CreationDate datetime = NULL,
@BatchID char(36) = NULL
)
AS
BEGIN
SET NUMERIC_ROUNDABORT on
SET NOCOUNT OFF
DECLARE @Err int
INSERT
INTO [EmployeeBalance]
(
[EmployeeBalanceID], [EmployeeID], [LeaveRegulationID],
[AttendanceTypeID], [BalanceOpenDate], [DateFrom],
[DateTo], [BalanceUpToDate], [ValidUntilDate],
[LeaveTransactionTypeID], [TransactionSign], [Days1],
[Days2], [Days3], [Days4],
[Days5], [System], [CreationDate],
[BatchID]
)
VALUES
(
@EmployeeBalanceID, @EmployeeID, @LeaveRegulationID,
@AttendanceTypeID, @BalanceOpenDate, @DateFrom,
@DateTo, @BalanceUpToDate, @ValidUntilDate,
@LeaveTransactionTypeID, @TransactionSign, @Days1,
@Days2, @Days3, @Days4,
@Days5, @System, @CreationDate,
@BatchID
)
SET @Err = @@Error
RETURN @Err
END
你选择了你的EDMX您Days1财产什么类型的? – ken2k 2012-01-12 10:40:27
它的十进制映射是正确的我做了下面的代码,它的工作,但它的东西不合逻辑:balance.Days1 = Convert.ToDecimal(balance.Days1.ToString(“n2”)); – Mazen313 2012-01-12 10:52:25