Você precisa verificar suas propriedades na coluna GUID - o que você precisa ter certeza é:
-
Auto Generated Values
está definido comoTrue
(então você basicamente diz ao Linq-to-SQL que o banco de dados irá gerar o valor)
-
Auto-Sync
deve ser definido comoOnInsert
para que seu objeto C# seja preenchido com o novo valor depois de chamarcontext.SubmitChanges()
Com essas duas configurações, você deve obter o comportamento esperado:não é necessário definir o GUID no lado do cliente, o banco de dados gerará um novo valor e o inserirá, e você o recuperará logo após a chamada para
.SubmitChanges()