2008-10-23 5 views

Répondre

2

La valeur par défaut de la base de données n'insérerait que la valeur lors de la création de la ligne. Il ne ferait rien pour la mise à jour, sauf si vous voulez ajouter un triggger.

Alternativement, vous pouvez ajouter une méthode partielle à votre classe DataContext. Ajoutez un nouveau fichier à votre projet:

public partial class YourDatabaseDataContext 
{ 
    partial void InsertYourTable(YourTable instance) 
    { 
     instance.LastUpdateTime = DateTime.Now; 

     this.ExecuteDynamicInsert(instance); 
    } 

    partial void UpdateYourTable(YourTable instance) 
    { 
     instance.LastUpdateTime = DateTime.Now; 

     this.ExecuteDynamicUpdate(instance); 
    } 
5

Vous devez définir IsVersion = true pour une colonne d'horodatage. Voir la référence pour ColumnAttribute.

Dans le concepteur DBML pour mes colonnes d'horodatage les propriétés sont définies sur

AutoGenerated=true 
AutoSync=Always 
Nullable, Primary Key, and ReadOnly = false 
SQLDataType = rowversion not null 
Timestamp = true 
UpdateCheck = never 

Je suppose que vous voulez vraiment dire horodatage et non datetime. Si ce dernier, ignorez ceci.

1

On dirait que vous avez juste oublié de mettre AutoSync à toujours pour la propriété.

Questions connexes