2009-12-28 3 views
1

J'ai un mappage Linq-To-SQL vers une colonne dans une table SQL.Gestion d'un mappage Linq-To-SQL à une colonne de table avec une valeur/liaison par défaut

Cette colonne est de type DateTime avec mappage/liaison par défaut de getdate(). Le problème est que Linq-To-SQL essaie d'insérer 12/1/0001 12:00 AM au lieu de laisser SQL faire son truc et insérer getdate().

Y a-t-il un moyen de contourner cela?

En outre, si la colonne est autorisée à être nulle, pourquoi Linq-to-SQL tente-t-elle d'insérer une valeur par défaut?

Répondre

3

This peut aider (faire défiler un tout petit peu). Il est question de définir les propriétés IsDbGenerated et AutoSync, qui indiquent au contexte de données que la valeur est générée dans la base de données et comment la valeur de l'objet L2SQL doit être synchronisée avec la valeur dans la base de données.

Je pense que mon google fu est bas aujourd'hui, je suis positif J'ai lu un bon article/blog à ce sujet, mais je ne peux pas le trouver à nouveau.

+1

Vous devez régler Auto-Sync sur "OnInsert". Si vous souhaitez uniquement utiliser la valeur par défaut et ne jamais la mettre à jour via le code, définissez Auto Generated Value sur TRUE. Détails avec des exemples ici: http://www.intrepidstudios.com/blog/2009/2/6/using-default-values-in-linq-to-sql.aspx –

Questions connexes