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

Accès aux données Discussion :

System.Data.Linq.Mapping sous Visual C# 2008 Express ?


Sujet :

Accès aux données

  1. #1
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 468
    Points : 3 094
    Points
    3 094
    Par défaut System.Data.Linq.Mapping sous Visual C# 2008 Express ?
    Bonjour,

    Désolé si je ne poste pas au bon endroit mais je ne vois pas dans rubrique mettre ma question.

    Je suis sur le site:
    http://msdn2.microsoft.com/fr-fr/lib...nqtosql_topic1

    J'essaye de suivre l'exemple de code sur linq mais il me manque la notion de mapping dans les uses.

    Si j'utilise:
    using System.Data.Linq.Mapping;

    Visual C# 2008 Express ne trouve pas la référence.

    Question: Visual C# 2008 Express propose t-il ce mapping ou faut-il obligatoirement la version complète de VS ?

    J-L

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Tu fais bien un projet de type .NET 3.5 ? Tu as les bonnes références de rajoutées à ton projet ?

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 468
    Points : 3 094
    Points
    3 094
    Par défaut 3.5
    Bonjour,

    Oui, j'ai bien par défaut la version 3.5 dans les options de mon projet.

    Le code est le suivant (le plus simple possible):

    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
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Linq.Data.Mapping;
     
     
    namespace WindowsFormsApplication1
    {
     
        [Table(Name = "Customers")]
        public class Customer
        {
            public string CustomerID;
            public string City;
        }
     
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
        }
    }
    et j'ai des erreurs à la génération:

    Erreur 1 Le type ou le nom d'espace de noms 'Data' n'existe pas dans l'espace de noms 'System.Linq' (une référence d'assembly est-elle manquante ?) D:\WindowsFormsApplication1\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 9 19 WindowsFormsApplication1

    Erreur 2 Le type ou le nom d'espace de noms 'Table' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) D:\WindowsFormsApplication1\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 15 6 WindowsFormsApplication1


    Erreur 3 Le type ou le nom d'espace de noms 'TableAttribute' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) D:\WindowsFormsApplication1\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 15 6 WindowsFormsApplication1


    Le problème, c'est que le site de crosoft n'indique pas quelle référence il faut utiliser.

    Un peu perdu je suis ... :-)

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 468
    Points : 3 094
    Points
    3 094
    Par défaut Résolu
    J'ai trouvé à partir d'un problème sur une autre appli.
    Il manquait l'ajout de la référence à System.Data.Linq au niveau du projet.
    Je pensais bêtement que la référence à System.Linq suffisait et entrainait les autres avec elle.

    Maintenant, en rajoutant

    using System.Data.Linq.Mapping;

    ça compile sans problème ...

    Merci :-)

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 468
    Points : 3 094
    Points
    3 094
    Par défaut Question complémentaire
    Juste pour confirmer ... Linq est bien l'équivalent de NHibernate ?

    Si oui, quels sont les DBMS utilisables avec Linq ? J'ai vu que SQL Server est supporté, mais access par exemple, ça passe aussi ?

    Et pour finir, si les deux sont équivalents, qu'est-ce qui est le plus simple à utiliser pour un débutant comme moi ?

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    LINQ est un outil de mapping objet relationnel comme NHibernate mais un peu moins poussé.

    Il ne fonctionne qu'avec SQL Server.

    Si tu veux un ORM by Microsoft qui supporte plusieurs SGBDR, il faudra te tourner vers EDM (Entity Data Model). En plus, c'est plus poussé que LINQ To SQL.

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 468
    Points : 3 094
    Points
    3 094
    Par défaut avec un peu de retard
    Merci pour ta réponse ...

    EDM me parait un peu compliqué à mon niveau.
    Je me suis tourné finalement vers hibernate qui devrait me suffire pour l'instant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/10/2008, 09h55
  2. [Debutant] C#/C++ Redistribution sous Visual C ++ 2008 Express
    Par Piranha8620 dans le forum Visual C++
    Réponses: 1
    Dernier message: 04/08/2008, 16h06
  3. problème de DLL sous visual studio 2008
    Par kira09 dans le forum C++
    Réponses: 2
    Dernier message: 12/06/2008, 12h50
  4. Réponses: 2
    Dernier message: 30/05/2008, 16h06
  5. Réponses: 1
    Dernier message: 16/05/2008, 09h51

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