2009-10-15 5 views

Répondre

3

TIMESTAMP est un SQL Server interne datatype stocké en tant que blob de 8 octets. Cela n'a rien à voir avec la date et l'heure - c'est juste un compteur interne, vraiment.

Il est en fait obsolète même - utilisez plutôt le type de données rowversion (à partir de SQL Server 2008 et plus).

à partir de SQL Server en ligne:

L'horodatage SQL Server type de données n'a rien à voir avec des temps ou des dates. SQL Les horodatages du serveur sont des nombres binaires qui indiquent la séquence relative dans dont les modifications de données ont eu lieu dans une base de données. Le type de données d'horodatage a été implémenté à l'origine pour prendre en charge les algorithmes de récupération SQL Server.

Vous ne pouvez pas utiliser byte array bytes dans les agrégats, comme le message d'erreur l'indique clairement.

Je suppose qu'il ya une autre colonne DATETIME dans votre table quelque part?

Consultez cet excellent article Timestamps vs. Datetime data types pour plus d'informations.

Marc

+0

J'ai changé d'horodatage à Datetime et cela a fonctionné. Je suis nouveau à LINQ/Sql et dans l'horodatage MYsql a bien fonctionné. Merci pour votre réponse – Joe

+0

@Joe: pas de problème. Oui, le nom "TIMESTAMP" peut être assez trompeur! C'est pourquoi ils le changent en "ROWVERSION" - semble plus intuitif –

Questions connexes