2017-05-15 3 views
0

J'ai deux tables, les deux ont des clés primaires définies, avec une clé étrangère entre les deux.Fluent API C# interrogation entre les entités

Table 1   Table 2 

PK ID   PK ID 
       FK Table1ID.ID 
    Name   DescriptionId 
        Description 

Ce que je suis en train de faire est de récupérer tous Tableau1, par ID, mais juste un petit sous-ensemble de Tableau2.

Ce récupère tous les enregistrements de Tableau2 pour ID 300.

var option = unitOfWork.Repository<Table1>() 
         .Query(x => x.ID == 300) 
         .Include(y => y.Table2) 
         .Select() 
         .FirstOrDefault(); 

J'ai modifié ci-dessus comme suit:

.Query(x => x.ID == 300 && x.Table2.Where(w => w.DescriptionId == 2)) 

et

.Include(y => y.Table2.Where(w => w.DescriptionId == 2)) 

aucun de ces travaux.

Répondre

0

Vous devrez faire quelque chose de similaire au suivant.

var option = unitOfWork.Repository<Table1>() 
         .Query(x => x.ID == 300) 
         .Include(y => y.Table2) 
         .Select(z => new{Field1 = x.Field1, Field2 = x.Field2, Field3 = y.Field1}) 
         .FirstOrDefault();