OK Je me cogner la tête contre un mur avec celui-ci ;-)Subsonic 3 LINQ Projection Problème
tables données dans ma base de données appelée Adresse, Client et CustomerType, je veux afficher des informations de synthèse combiné sur le client donc je crée une requête pour joindre ces deux tables et récupérer un résultat spécifié.
var customers = (from c in tblCustomer.All()
join address in tblAddress.All() on c.Address equals address.AddressId
join type in tblCustomerType.All() on c.CustomerType equals type.CustomerTypeId
select new CustomerSummaryView
{
CustomerName = c.CustomerName,
CustomerType = type.Description,
Postcode = address.Postcode
});
return View(customers);
CustomerSummaryView est un simple POCO
public class CustomerSummaryView
{
public string Postcode { get; set; }
public string CustomerType { get; set; }
public string CustomerName { get; set; }
}
Maintenant, pour une raison quelconque, cela ne fonctionne pas, je reçois une liste IEnumerable des résultats CustomerSummaryView, chaque enregistrement a un nom de client et un code postal, mais la Le champ de type client est toujours nul.
J'ai recréé ce problème plusieurs fois avec différentes tables de base de données et classes projetées.
Quelqu'un a des idées?
Hey Rob, je pense que votre test passe parce que vos correspondances sont des correspondances exactes. Jon fait CustomerType = type.Description, et cela s'avère être la seule propriété avec laquelle il a des problèmes. Je suis tombé sur quelque chose de très similaire http://stackoverflow.com/questions/1734146/subsonic-3-linq-projecting-anonymous-types-but-not-class-types –