Je rencontre des problèmes lors de la définition d'une propriété de liste générique d'un objet POCO à partir d'un contexte EF. Par exemple, j'ai un objet très simple qui contient les éléments suivants:Entity Framework - Sélection LINQ dans la propriété Liste POCO générique
public class foo
{
public string fullName;
public Entity entity;
public List<SalesEvent> eventList;
}
Mon code pour remplir cet objet de ressemble à ceci:
.Select(x => new foo()
{
fullName = x.vchFirstName + " " + x.vchLastName,
entity = new EntityVo()
{
address1 = x.vchAddress1,
entityId = x.iEntityId,
emailAddress = x.vchEmailAddress,
firstName = x.vchFirstName,
lastName = x.vchLastName,
city = x.vchCity,
state = x.chState,
workNumber = x.vchWorkNumber,
mobileNumber = x.vchMobileNumber,
siteId = x.iSiteId
}
eventList = _context.Events
.Where(e => e.iEntityId == x.iEntityId
&& e.iStatusId >= eventStatusMin
&& e.iStatusId <= eventStatusMax)
.Select(e => new List<SalesEventMatchVo>
{
new SalesEventMatchVo()
{
vehicleName = _context.Quotes.Select(q=>q).Where(q=>q.iEventId == e.iEventId).FirstOrDefault().vchMake + " " + _context.Quotes.Select(q=>q).Where(q=>q.iEventId == e.iEventId).FirstOrDefault().vchModel,
eventId = e.iEventId,
salesPerson = e.chAssignedTo,
eventStatusDesc=_context.RefDefinitions.Select(r=>r).Where(r=>r.iParameterId==e.iStatusId).FirstOrDefault().vchParameterDesc,
eventStatusId =(int)e.iStatusId,
eventSourceDesc=_context.RefDefinitions.Select(r=>r).Where(r=>r.iParameterId==e.iSourceId).FirstOrDefault().vchParameterDesc,
createDate = e.dtInsertDate
}
}).FirstOrDefault()
}).ToArray();
Ce problème que je vais avoir est que je suis impossible de remplir la propriété eventList avec tous les événements, il saisit uniquement le premier enregistrement (ce qui est logique en regardant le code). Je ne peux pas sembler comprendre pour remplir la liste entière.
Génial ... merci pour la solution et les conseils supplémentaires! – Kbanashek