Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données > Entity Framework
Entity Framework Forum d'entraide sur le développement avec le modèle d'accès aux données Entity Framework de Microsoft.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/11/2012, 11h44   #1
xarkam
Membre actif
 
Développeur .NET
Inscription : février 2005
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2005
Messages : 98
Points : 191
Points : 191
Envoyer un message via Skype™ à xarkam
Par défaut EF5 lister les enregistrements d'une table

Bonjour,

j'apprend EF5 actuellement. je me suis fait une ptit webapps pour écrire en db.
J'aimerais bien maintenant faire un listing tableau d'une des tables.

J'ai donc une entité USERS avec login, password comme champ et ID comme clé faisant partie du context ExtendedOsamesEntites.

Je me suis fait ce bout de code pour récupérer une liste de USERS en vue d'en faire un tableau JSON.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static List<User> ListUsers()
        {
            using (TextWriter logFile = File.CreateText(HttpContext.Current.Server.MapPath(@"/log/") + "sqllog.txt"))
            {
                using (ExtendedOsamesEntities context = new ExtendedOsamesEntities())
                {
                    context.Log = logFile;
                    try
                    {
                        return context.Users.ToList();
                    }
                    catch (InvalidOperationException ex)
                    {
                        Debug.WriteLine(ex.Message);
                        return null;
                    }                    
                }
            }
        }
Mais mon context.Users.ToList() est null.

Dois-je faire une requête avant de retourner la liste des enregistrements ?
xarkam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2012, 13h58   #2
bizet
Membre Expert
 
Avatar de bizet
 
Homme
Ingénieur développement logiciels
Inscription : juin 2005
Messages : 715
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2005
Messages : 715
Points : 1 379
Points : 1 379
Bonjour,

Citation:
Dois-je faire une requête avant de retourner la liste des enregistrements ?
Non ton code semble etre correcte.
Cela doit venir de ExtendedOsamesEntities qui n'est peut etre "lié" à aucune table.
il faut que tu vérifies la Connection string et si ton edmx est correct.
bizet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2012, 13h52   #3
xarkam
Membre actif
 
Développeur .NET
Inscription : février 2005
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2005
Messages : 98
Points : 191
Points : 191
Envoyer un message via Skype™ à xarkam
Salut,

ExtendedOsamesEntities est en fait un module pour permettre de logger les query générées. (http://babi.homelinux.net/pastebin/9l)

Ma femme a fait
Code :
1
2
var result =  context.Users.ToList();
return result;
En passant par une variable ça fonctionne. Donc interrogation sur l'obligation de passer par une variable.

Mon edmx semble bon: http://babi.homelinux.net/pastebin/5l
xarkam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2012, 16h16   #4
bizet
Membre Expert
 
Avatar de bizet
 
Homme
Ingénieur développement logiciels
Inscription : juin 2005
Messages : 715
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2005
Messages : 715
Points : 1 379
Points : 1 379
Citation:
Envoyé par xarkam Voir le message
Salut,

ExtendedOsamesEntities est en fait un module pour permettre de logger les query générées. (http://babi.homelinux.net/pastebin/9l)

Ma femme a fait
Code :
1
2
var result =  context.Users.ToList();
return result;
En passant par une variable ça fonctionne. Donc interrogation sur l'obligation de passer par une variable.

Mon edmx semble bon: http://babi.homelinux.net/pastebin/5l
C'est très surprenant que tu ais besoin de passer par une variable.
Normalement non ce n'est pas obligatoire.

As tu essayé en utilisant d'abord OsamesEntities pour vérifier que ce ne soit pas ExtendedOsamesEntities qui pose problème?
bizet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 21h04   #5
iberserk
Expert Confirmé
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 526
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 31
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 526
Points : 2 779
Points : 2 779
Envoyer un message via MSN à iberserk
Question bête:
Ne passerais tu pas simplement dans ton catch qui lui retourne NULL...

Que donne un point d'arrêt dans ton catch?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
MCTS Database Development
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 09h36   #6
xarkam
Membre actif
 
Développeur .NET
Inscription : février 2005
Messages : 98
Détails du profil
Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2005
Messages : 98
Points : 191
Points : 191
Envoyer un message via Skype™ à xarkam
Salut,

bon, ne me demandez pas, je suis revenu sur ce petit bout de code et subitement, cela fonctionne directement dans le return.

Entre temps, j'ai changé le code pour ajaxifier le tout pour ne plus avoir que default.aspx

Mais je suis très intrigué. faudra que j'analyse un jour le dépôt git pour trouver une différence significative.

Merci à vous
xarkam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h39.


 
 
 
 
Partenaires

Hébergement Web