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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top