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 de clef étrangère nullable


Sujet :

Entity Framework

  1. #1
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut Problème de clef étrangère nullable
    Bonjour,

    J'ai un mapping EF dans lequel j'ai des clefs étrangères qui peuvent être null, le problème est que EF ne vois pas le chose comme cela et ne passe donc pas par des int? mais par des int. Du coup ça m'empêche d'avancer.

    Connaissez vous une solution à ce problème très gênant merci.
    Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais )

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    C'est du EF1 et tu génères le model à partir de la base ?

    Si c'est le cas, il y a peut être un problème au niveau du schéma de la base.
    Sinon tu peux toujours essayer de mettre manuellement la propriété à nullable via le designer EF (panneau des propriétés).
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut
    Merci je vais essayer ça.

    Dailleurs j'ai un autre souci avec EF je sais récupérer l'ensemble des plugins associés à un composant particulier par la requêtre suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var plugins = db.Plugins.Where(plugin => plugin.Components.components_name == component).Select(plugin => plugin)
    Comme il est hors de question que mon application traite directement ce genre de chose j'ai crée une classe "DTO" nommé ComponentPluginsConfig. Il me faut donc setter les propriétés que je récupère depuis la base de données sur celles de mon DTO. Je procède donc comme cela (note : j'ai déjà tordu le code là pour voir pourquoi ça ne marche pas) :
    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
     
            public List<ComponentPluginsConfig> GetPlugins(string component)
            {
                List<ComponentPluginsConfig> _plugins = new List<ComponentPluginsConfig>();
     
                using (BlueCurveConfigEntities db = new BlueCurveConfigEntities())
                {
                    var plugins = db.Plugins.Where(plugin => plugin.Components.components_name == component).Select(plugin => plugin);
     
                    if (plugins != null)
                    {
                        foreach(var plugin in plugins)
                        {
                            _plugins.Add(new ComponentPluginsConfig()
                            {
                                IdComponent = plugin.Components.id_component,
                                IdPlugin = plugin.id_plugin,
                                PluginActive = plugin.plugins_active,
                                PluginEditor = plugin.plugins_editor,
                                PluginEditorMail = plugin.plugins_editor_mail,
                                PluginInstallDate = plugin.plugins_install_date,
                                PluginName = plugin.plugins_name,
                                PluginVersion = plugin.plugins_version,
                                ComponentName = component
                            });
                        }
                    }
                }            
     
                return _plugins;
            }

    Le problème est que EF me renvoi l'erreur suivante :

    Le nombre de membres du type conceptuel « BlueCurveConfigModel.Plugins » ne correspond pas au nombre de membres du type côté objet « BlueCurve.Search.Database.Plugins ». Assurez-vous que le nombre de membres est identique.
    Cette erreur ce produit sur le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    foreach(var plugin in plugins)

    Je n'ai aucune idée de ce qui cloche. Merci de votre aide
    Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais )

  4. #4
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut
    Je pense que je vais revenir à Linq To Sql, je n'arrive même pas à trouver un bon tuto sur EF
    Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais )

  5. #5
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Points : 130
    Points
    130
    Par défaut
    Tu as vérifié qu'est-ce que tu as du côté de tes objets? Sa semble être un problème entre le nombre de champs dans ton objet et le nombre se trouvant dans ton modèle...

    Sinon pour EF, tu as un excellent livre (en anglais): Programming Entity Framework, Edition O'Reilly, de Julie Lerman

Discussions similaires

  1. Problème avec clefs étrangères
    Par tomy29 dans le forum Hibernate
    Réponses: 5
    Dernier message: 05/11/2008, 17h42
  2. Problème a la création d'une clef étrangère
    Par tomy29 dans le forum Administration
    Réponses: 3
    Dernier message: 19/07/2008, 11h07
  3. [Win'Design] Problème de clef étrangére
    Par Invité dans le forum Autres
    Réponses: 2
    Dernier message: 02/05/2008, 17h03
  4. [IB6] Problème de clef étrangère
    Par Neilos dans le forum InterBase
    Réponses: 8
    Dernier message: 28/03/2006, 19h40
  5. [SQL SERVER 2000] Problème clef étrangére
    Par Tankian dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/05/2004, 10h44

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