RIA 서비스는 서버에서 생성 된 등록 정보를 채우기 위해 특별한 작업을 수행합니다. 이러한 값 중 하나가 ModifiedDate 필드입니다. 내 테이블에 키가 아닌 ID 열이 있습니다. 데이터베이스 생성 값을 얻으려면 RIA는 방금 삽입 한 행에 대해 알고있는 키 값을 사용하여 제출하는 동안 방금 삽입 한 레코드를 쿼리합니다. 이 쿼리는 다음 쿼리로 처리합니다.제출 작업이 DateTime 정밀도로 인해 실패합니다.
[WorkItemId], [WorkItemStatusCode], [EffectiveDate]이 테이블의 키입니다.
간부 sp_executesql을 N'insert [DBO]. WorkItemHistory] ([WorkItemId], [WorkItemStatusCode] 는 [EFFECTIVEDATE]는 [DateCreated], [DateModified], [ModifiedByUserId], [StatusReason] [설명 ], [MarketId]) 값 (@ 0, @@ 2, @ 4, @ 6, @ 7, null) [dbo]의 [iWorkItemHistoryId] 을 선택하십시오. [WorkItemHistory ] 여기서 @@ ROWCOUNT> 0 및 [WorkItemId] = @ 0 및 [WorkItemStatusCode] = @ 1 및 [EffectiveDate] = @ 2 ', N'@ 0 int, @ 1 varchar (25), @ 2 datetime2 7, @ 3 datetime2 (7), @ 4 datetime2 (7), @ 5 nvarchar (50), @ 6 nvarchar (100), @ 7 nvarchar (255) ', @ 0 = 1, @ 1 ='CN CL ', @ 2 ='2011-01-24 19 : 32 : 27.5028893 ', @ 3 ='2011-01-24 11 : 32 : 27.5018892 ', @ 4 ='2011-01-24 11:32 : 27.5008891 ', 5 = N'at @'= 6 N'NewDescription '@ 7 = N'New WorkItem에서 -1/19/2011'
'2011-01-24 @ 19 : 32 : 27.5028893 db에 정확히 저장되는 것은 아닙니다. 반올림되어 'Where'절이 실패합니다.
'2011-01-24 19 : 32 : 27.503'은 db입니다.
이 문제를 해결하려면 날짜를 '2011-01-24 19:32:27'로자를 수 있습니다. 또는 날짜를 ID에서 가져올 수 있습니다. 그렇지 않으면 iWorkItemHistoryId의 자동 증가 카운터를 사용할 수 있습니다. 삽입하는 동안 값을 재 쿼리하지 않습니다.
감사합니다.
키를 사용해야하는 방식으로 날짜를 사용하지 마십시오. 신뢰할 수있는 방식으로 시간을 조율하는 것은 까다 롭습니다. –