LINQ2SQL:自动同步= OnInsert

时间:2010-07-10 09:52:22

标签: linq-to-sql

我有一个名为CreationDate的列,我设置了它 自动生成的值= true 自动同步= OnInsert 它工作得非常好但是我仍然想知道为什么在进行更新时它会同步 这是我更新此表中的任何列时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)AND   ([t1]。[AddressId] = @ p3)',N'@ p0   uniqueidentifier,@ p1时间戳,@ p2   炭(2),@ P3   唯一标识符”,@ P0 = '18CD7808-038C-DF11-9935-00214F54AE12',@ P1 = 0x000000000000105D,@ P2 = 'DZ',@ P3 = '18CD7808-038C-DF11-9935-00214F54AE12'

为什么我的CreatationDate会被第二个选择返回? 我是否误解了自动同步= OnInsert

的概念

感谢您的评论

1 个答案:

答案 0 :(得分:2)

我认为Auto-Sync = OnInsert是正确的,但您需要将自动生成值设置为 False 。 “自动生成的价值”命名相当差;它实际上更适用于SQL Server计算列(可以根据任何内容进行更改),而不是在插入时默认值。