consultas problema EntityReference
-
22-09-2019 - |
Pregunta
Cuando ejecuto el código:
public List<T> GetCustomerTxList(int customerId)
{
var matchingPocos = new List<T>();
using (linq.AOMSEntities dataRepos = new linq.AOMSEntities())
{
IEnumerable txlist = from t in dataRepos.TransactionRecord
where t.CustomerReference.Value.Id == customerId
select t;
foreach (EntityObject entity in txlist)
{
matchingPocos.Add(entity.ConvertToPoco<T>());
}
}
return matchingPocos;
}
Me sale el siguiente excepción: Data.Repository.Integration.Test.LinqRepositoryTest.GetCustomerTxList: System.NotSupportedException: El miembro tipo especificado 'CustomerReference' no se admite en LINQ a Entidades. Sólo inicializadores, miembros de la entidad, y las propiedades de navegación entidad son compatibles.
CustomerReference es un EntityReference en la entidad TransactionRecord referencia a una entidad de atención al cliente.
¿Por qué no puedo consulta utilizando una referencia de entidad?
¿Cuál es el método recomendado para realizar una consulta de este tipo?
Con mucho gusto va a proporcionar más información / código si ayuda.
Solución
debe ser capaz de acceder al cliente directamente en su consulta como la siguiente:
from t in dataRepos.TransactionRecord
where t.Customer.Id == customerId
select t;
Debajo de las sábanas EF utilizará el CustomerReference para usted en este caso.