LINQ2SQL: автосинхронизация = OnInsert - PullRequest
2 голосов
/ 10 июля 2010

У меня есть столбец с именем CreationDate, для которого я установил Auto Generated Value = true. Auto-Sync = OnInsert. Он работает отлично, однако мне все еще интересно, почему он синхронизируется при выполнении UPDATE. Что показывает профилировщик SQL Server при обновлении?любой столбец в этой таблице

exec sp_executesql N'UPDATE [dbo]. [T_Address] SET [CountryCode] = @ p2 WHERE ([AddressGuid] = @ p0) AND ([ColVersion] = @ p1)

SELECT [t1]. [CreationDate], [t1]. [ColVersion], [t1]. [LastActivityDate] FROM [dbo]. [Адрес] AS [t1] WHERE ((@@ ROWCOUNT)> 0) И ([t1]. [AddressId] = @ p3) ', N' @ p0 uniqueidentifier, @ p1 timestamp, @ p2 char (2), @ p3 uniqueidentifier ', @ p0 =' 18CD7808-038C-DF11-9935-00214F54AE12 ', @ p1 = 0x000000000000105D, @ p2 =' DZ ', @ p3 =' 18CD7808-038C-DF11-9935-00214F54AE12 '

, почему моя CreatationDate возвращается вторым выбором?Я неправильно понимаю концепцию Автосинхронизация = OnInsert

Спасибо за ваши комментарии

1 Ответ

2 голосов
/ 12 января 2011

Я считаю, что Auto-Sync = OnInsert является правильным, но вам нужно установить Auto Generated Value на False . «Auto Generated Value» довольно плохо назван; на самом деле он применяется больше к вычисляемым столбцам SQL Server (которые могут изменяться в зависимости от чего-либо), чем к значениям по умолчанию при вставке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...