RIAサービスは、サーバーによって生成されたプロパティを設定するために特別な処理を行います。そのような値の1つはModifiedDateフィールドです。私のテーブルでは、キーではないID列があります。データベース生成値を取得するために、RIAは、送信したばかりのキー値を使用して、送信中に挿入したばかりのレコードを照会します。これは、次のクエリでこれを処理します。DateTimeの精度のためにサブミット操作が失敗する
[WorkItemId]、[WorkItemStatusCode]、[有効日]がテーブルのキーです。
EXEC sp_executesqlをN'insertは[DBO]。[WorkItemHistory] ([WorkItemId]、[WorkItemStatusCode]、[EffectiveDate]、 [DateCreated]、[DateModified]、[ModifiedByUserId]、[StatusReason]、[説明]、[MarketId]) 値(@ 0、@@ 2,3,4,5,6,7,7 null) [dbo]の[iWorkItemHistoryId] を選択します。[WorkItemHistory ] ここで@@ ROWCOUNT> 0および[WorkItemId] = @ 0および[WorkItemStatusCode] = @ 1および[有効期限] = @ 2 '、N' @ 0 int、@ 1 varchar(25)、@ 2 datetime2 7、nvarchar(100)、@ 7 nvarchar(255) '、@ 0 = 1、@ 1 =' CN 7 datetime2(7)、4 datetime2(7)、5 nvarchar(50) CL '、@ 2' '2011-01-24 19:32:27.5028893'、@ 3 = '2011-01-24 11:32:27.5018892'、@ 4 = '2011-01-24 11:32: 6 = N'NewDescription @、5 = N'at @ '27.5008891' '、7 = N'New作業項目@ -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から自動インクリメントカウンタを削除することもできます挿入中に値を再クエリーしません。
ありがとうございました
キーの使用方法は日付を使用しないでください。信頼できる方法で参加するには時間がかかります –