Tengo una relación muchos a muchos entre cuentas y sistemas de pago. Quiero enumerar todos los PaymentSystems aún no asignados a una cuenta. Para lograr eso, yo estoy tratando de utilizar el siguiente LINQ a Entidades consultas:¿Cómo hago una consulta LINQ "Excepto" a Entidades?
PaymentGatewayEntities pge = new PaymentGatewayEntities();
Account account = pge.Accounts.Single(item => item.id == accountId);
var paymentSystems = pge.PaymentSystems.Except(account.PaymentSystems);
Sin embargo, tengo la siguiente excepción cuando se trata de mostrar los resultados: "System.NotSupportedException: No se puede crear un valor constante de tipo 'MyNamespace.Models.PaymentSystem'. Solo los tipos primitivos ('como Int32, String y Guid') son compatibles en este contexto. " ¿Qué estoy haciendo mal? Estoy usando EF4.
UPD: var paymentSystems = pge.PaymentSystems.Where (item =>! Item.Accounts.Contains (account)) da como resultado la misma excepción también.