IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entity Framework Discussion :

Problème datetime2 entity framework


Sujet :

Entity Framework

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut Problème datetime2 entity framework
    Bonjour

    Je suis sous Windows 7 j'utilise SQL server 2008 et Visual studio 2010.
    J'utilise l'Entity Framework mais j'ai un problème.

    Quand insert une date j’obtiens cette erreur.

    the conversion of a datetime2 data type ...
    J'ai donc chercher sur google et j'ai trouver qu'il fallait remplacer 2008 par 2005 seulement j'utilise une basse sql server 2008.

    Effectivement les dates dans ma base de données sont de type "datetime"

    Comment je pourrai résoudre le problème ?

    Merci

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Bonjour,

    Le datetetime2 est un nouveau type de donnée introduit avec SQL SERVER 2008 permettant notamment de pouvoir spécifier une précision...

    Si vos colonnes en base sont typées DATETIME (je parle bien en base et non pas ce que vous voyez dans votre EDMX) et que vous avez ce message d'erreur
    je suppute un mauvais typage de la colonne dans le mapping ENTITIES...

    Commencez par vérifier le type défini pour l'attribut de votre entité sur l'edmx.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Commencez par vérifier le type défini pour l'attribut de votre entité sur l'edmx.
    Dans l'edmx j'ai bien le type datetime sur ma date.

    Merci pour votre aide

  4. #4
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Peut on voir votre code d'insertion?

    Vérifiez que vous n'avez pas un trigger sur l'insert?

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    j'utilise une basse sql server 2008
    êtes vous sûr?


    Que donnes cette requète:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public override void Save()
            {
                if (!CanSave())
                    return;
     
                foreach (ViewModelLotLivre LotSave in this.AjoutLots)
                {
                    LotSave.Save();
                }
     
                if (ContextManager.Instance.SaveObject("Livraisons", this.Livraison))
                    AllPropertyChanged();
                else
                    ViewLivraisonsPrincipal.Instance.FenetreEditionLivraison.Hide();
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public override void Save() { 
                if (!CanSave())
                    return;
                if(ContextManager.Instance.SaveObject("LotLivre",this._lotLivre))
                    this.AllPropertyChanged();
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public bool SaveObject(string entitySetName, EntityObject entity){}
    Résultat de la requête
    SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

  7. #7
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Vous êtes bien en 2008...
    Vérifiez qu'il n'y a pas un trigger sur l'insert...

    Avez vous passé le sp1?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Bonjour

    Dans la base j'ai un trigger sur INSERT et UPDATE de ma table LotLivree c'est tous.

    Avez vous passé le sp1?
    Windows ?


    Je vous met mon message d'erreur


  9. #9
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    A c'est un out of range...

    Quelle date lui passez vous?

    Je parlais du SP1 de sql server 2008...


    Postez le code des trigger s'il vous plait il se peut que le problème soit simplement à ce niveau...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Par défaut je lui passe la date du jour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    USE [CuisineDatabase]
    GO
    /****** Object:  Trigger [dbo].[modif_livree_commande]    Script Date: 06/27/2011 09:03:52 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER TRIGGER [dbo].[modif_livree_commande]
    ON [dbo].[LotLivre]
    FOR
    INSERT, UPDATE 
    AS 
    DECLARE @idCommandeCorLivraison int,@idLivr int,@idLot int,@idProduit int, @quteRecue int,@quteComm int;
    	SELECT @idLot=idLot,@idLivr=idLivraison
    	FROM   INSERTED
    		SELECT @idCommandeCorLivraison = liv.idCommande
    		FROM Livraison liv 
    		WHERE @idLivr = liv.idLivraison;
    		SELECT @idProduit = lot.idProduit
    		FROM Lot lot
    		WHERE @idLot = lot.idLot;
    		SELECT @quteRecue = SUM(lotl.quantite)
    		FROM Livraison livr
    		JOIN LotLivre lotl ON lotl.idLivraison = livr.idLivraison
    		JOIN Lot lot ON lot.idLot = lotl.idLot
    		WHERE lot.idProduit = @idProduit AND livr.idCommande = @idCommandeCorLivraison;
    		SELECT  @quteComm = ec.quantiteCommandee
    		FROM estConstituee ec 
    		JOIN ProduitFourniDate pfd ON pfd.idProduitFourniDate = ec.idProduitFourniDate
    		JOIN ProduitFourni pf ON pf.idProduitFourni = pfd.idProduitFourni
    		WHERE @idCommandeCorLivraison = ec.idCommande AND @idProduit = pf.idProduit;	
    BEGIN
    	print 'Qute Commandee : ' + RTRIM(CAST(@quteComm AS nvarchar(30)));
    	if (@quteComm > @quteRecue AND @quteRecue >0)
    		UPDATE Commande SET livree = 1 WHERE idCommande = @idCommandeCorLivraison;
    	else if (@quteComm > @quteRecue)
    		UPDATE Commande SET livree = 0 WHERE idCommande = @idCommandeCorLivraison;
    	else if (@quteComm <= @quteRecue)
    		UPDATE Commande SET livree = 2 WHERE idCommande = @idCommandeCorLivraison;
    END;

    Ah pardon oui je suis en R2.

  11. #11
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    FROM estConstituee ec
    JOIN ProduitFourniDate pfd ON pfd.idProduitFourniDate = ec.idProduitFourniDate
    C'est peu être çà qui ne va pas.

    Vérifiez le typage de ces deux colonnes.

    Au pire, commencez par désactiver le trigger... voyez si ca marche sans vous saurez ainsi si le problème viens bien de là...

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/03/2010, 21h32
  2. [Entity Framework] Problème avec le Designer
    Par farfadet dans le forum Framework .NET
    Réponses: 16
    Dernier message: 18/02/2010, 13h13
  3. Problème Ajout Donnée avec Entity Framework
    Par Invité dans le forum Linq
    Réponses: 4
    Dernier message: 14/10/2009, 14h16
  4. Réponses: 3
    Dernier message: 22/09/2009, 11h41
  5. WCF, Entity Framework et problème de chaîne de connexion
    Par mike1808 dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 10/10/2008, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo