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 :

Entity Framework Core - Include retourne un seul et unique enregistrement


Sujet :

Entity Framework

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut Entity Framework Core - Include retourne un seul et unique enregistrement
    Bonjour,
    J'utilise EF Core version 1.1 dans un projet Web API.
    J'ai deux classes comme suit:
    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
    42
    public partial class Category    {
            public Category()
            {
                Product = new HashSet<Product>();
            }
     
            public int CategoryId { get; set; }
            public string CategoryName { get; set; }
            public string Description { get; set; }
            public string CategoryImageUrl { get; set; }
            public virtual ICollection<Product> Product { get; set; }
        }
     
    public partial class Product
        {
            public Product()
            {
                InvoiceLine = new HashSet<InvoiceLine>();
                OrderLine = new HashSet<OrderLine>();
     
            }
     
     
            public int ProductId { get; set; }
            public string ProductName { get; set; }
            public string ProductDescription { get; set; }
            public string BrandName { get; set; }
            public int? SupplierId { get; set; }
            public int? CategoryId { get; set; }
            public string BarCode { get; set; }
            public decimal? UnitPrice { get; set; }
            public short? UnitsInStock { get; set; }
            public string ImageUrl { get; set; }
            public string Status { get; set; }
            public int? LastEditedBy { get; set; }
            public DateTime? LastEditedWhen { get; set; }
     
            public virtual ICollection<InvoiceLine> InvoiceLine { get; set; }
            public virtual ICollection<OrderLine> OrderLine { get; set; }
            public virtual Category Category { get; set; }
            public virtual Suppliers Supplier { get; set; }
        }
    Je fait du Eager Loading avec EF Core comme ceci dans mon repository:
    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
    namespace NetCoreServiceLayer.Repository{
        public class CategoriesRepository : ICategoriesRepository
        {
     
            private PointOfSaleDBContext _context;
     
            public CategoriesRepository(PointOfSaleDBContext context)
            {
                _context = context;
            } 
     
            public async Task<IEnumerable<Category>> GetAsync()
            {
     
                return await _context.Category
                             .Include(pdt => pdt.Product)
                             .ToListAsync();
            }
       }
     
     }
    Mais EF Core me retourne seulement un enregistrement alors qu'il y a des centaines de lignes dans ma table Category. Ai-je raté quelque chose? Merci d'avance pour vos apports.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    As-tu correctement defini tes cles primaires et etrangeres dans la base de donnees ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Oui les clés primaires et étrangères ont été bien définies. Il n'y a pas de soucis de ce côté là.

Discussions similaires

  1. selectionner seulement une colonne sur include, Entity Framework
    Par bazedine dans le forum Accès aux données
    Réponses: 0
    Dernier message: 20/05/2016, 18h21
  2. Réponses: 2
    Dernier message: 13/08/2009, 17h06
  3. Linq - Entity Framework
    Par Jfrancois57 dans le forum Framework .NET
    Réponses: 11
    Dernier message: 12/02/2008, 08h06
  4. Réponses: 5
    Dernier message: 27/06/2006, 20h27
  5. [sql] Retourner une seule ligne..
    Par b_lob dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 24/05/2006, 15h15

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