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 :

Mapping * entités sur une table


Sujet :

Entity Framework

  1. #1
    Membre actif Avatar de istace.emmanuel
    Homme Profil pro
    Senior Full-Stack .Net Developer
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Full-Stack .Net Developer
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Points : 265
    Points
    265
    Par défaut Mapping * entités sur une table
    Bonjour a tous,

    Je débute avec ef et je n'arrive pas a faire quelque chose qui me semble simple :/

    En fait j'ai une entité qui map toute une table et je voudrais créer une seconde entité qui ne mapperais que certaines propriétés de cette même table.

    Je crée simplement une entité de plus et je map les champs de la table dont j'ai besoin dans mon entité.

    Voila l'erreur :

    Erreur 12 Erreur 3033*: Problème de fragments de mappage à partir de la ligne 2767*:Les EntitySets 'Entité1Jeu' et 'dev_fo' sont tous deux mappés à la table 'dev_fo'. Il se peut que leurs clés primaires soient en conflit.
    Quelqu'un saurait me dire pourquoi cela ne marche pas ?
    Pourquoi ne puis-je pas mapper deux entités a une même table ?

    Merci d'avance
    Inform@tiquement
    Manu404
    .Net... What else ?
    Mon blog sur .Net

  2. #2
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Donc la seconde entité serait une vue ?
    Avec une vue le problème se pose-t-il ?
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  3. #3
    Membre actif Avatar de istace.emmanuel
    Homme Profil pro
    Senior Full-Stack .Net Developer
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Full-Stack .Net Developer
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Points : 265
    Points
    265
    Par défaut
    La vue était une de mes solutions, mais pour le projet que je réalise je ne peu absolument pas toucher a la db (ni ajout, ni modif, ni supression).

    Donc j'ai rajouté un classe a la mano qui contient mes attributs et dont j'instancie les objets dans le Select de ma requête.

    Cette solution me "va" dans le sens ou ma principale crainte avec cette technique était que je pensais que mon DAL allait d'abord recupérer tous les record complet pour ensuite ne garder que les valeurs dont j'avais besoin. (Et donc très lourd). Mais après un coup d’œil sur le SQL Server Profiler j'ai vu que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.dev_fo.Where(m => m.d_id != 0).Select(m => new LocalUr{ id =m.d_id, name = m.d_name }).ToList();
    Me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT 
    [Extent1].[d_id] AS [d_id], 
    [Extent1].[d_name] AS [d_name]
    FROM [dbo].[dev_fo] AS [Extent1]
    WHERE 0 <> [Extent1].[d_id]
    Au lieu d'un "select *", ce qui me réjouis déjà

    Mais si vous avez une solution autre que la vue coté DB et le Select un peu "dégueu" qui permet de faire la même chose depuis le modèle EF cela m'arrangerais histoire de garder une certaine cohérence dans mon DAL.
    .Net... What else ?
    Mon blog sur .Net

Discussions similaires

  1. Mapping Enum sur une table de la base
    Par ziad.shady dans le forum JPA
    Réponses: 2
    Dernier message: 23/06/2014, 18h08
  2. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  3. Pooling sur une table SQL
    Par Jean-Jacques Engels dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/11/2004, 23h10
  4. Recordcount sur une table filtrée
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/03/2004, 00h05
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

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