Je rencontre actuellement la question mentionnée ici (et plusieurs autres): Subsonic 3 Linq Projection IssueSubsonic 3 LINQ Problème de projection, fixe ou non?
Cela se produit à l'aide du package de libération 3.0.0.4, et il se produit également lorsque je prends la dernière de GitHub et de le construire. J'utilise les modèles LINQ.
Je possède ce code:
var newModel = new ViewModels.HomeIndexViewModel() {
PulseListViewModel =
new ViewModels.PulseListViewModel
{
Pulses = from p in _pulseQuery
join a in _accountQuery on p.AccountId equals a.AccountId
orderby p.CreateDate descending
select new PulseListViewModel.Pulse()
{
AccountName = a.Name
, Category = p.Category
, CreateDate = p.CreateDate
, Link = p.Link
, Message = p.Message
, Source = p.Source
, Title = p.Title
}
}
};
Mais AccountName est toujours nulle.
Si je change le AccountName à Nom:
var newModel = new ViewModels.HomeIndexViewModel() {
PulseListViewModel =
new ViewModels.PulseListViewModel
{
Pulses = from p in _pulseQuery
join a in _accountQuery on p.AccountId equals a.AccountId
orderby p.CreateDate descending
select new PulseListViewModel.Pulse()
{
Name = a.Name
, Category = p.Category
, CreateDate = p.CreateDate
, Link = p.Link
, Message = p.Message
, Source = p.Source
, Title = p.Title
}
}
};
Il fonctionne très bien. Mais ce n'est pas acceptable dans notre projet; Je ne peux pas toujours aligner les noms (outre le fait que cela rendrait les choses moins claires si je le pouvais).
Mais je suis assez confus, car il semble cette question a été fixé:
« Correction d'un problème où les projections étaient de retour des paramètres nuls ou vides »
- http://blog.wekeroad.com/2010/03/21/subsonic-3-0-0-4-released
Ainsi, quelqu'un peut-il dites-moi: Ce problème n'est pas résolu, et dois-je appliquer les changements trouvés ici au http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb pour que cela fonctionne? Ou est-ce que je manque quelque chose? Parce que regarder à travers la source SubSonic actuelle, il apparaît que ce correctif a été inclus. J'ai l'impression que cela devrait être simple et efficace, mais j'ai plutôt passé énormément de temps dessus.
Je ne vais pas avoir le temps de produire un projet minimal illustrant mon problème pendant quelques jours, mais je compte. _pulseQuery & _accountQuery implémenter IQueryable et exposer simplement SubSonic.Repository.SubSonicRepository .GetAll(). J'enveloppe les installations SubSonic avec une simple interface DAO et j'expose IQueryable aux couches supérieures. J'utilise les modèles LINQ de SubSonic (aussi appelés Advanced Templates?) –
Saintedlama, moi aussi je souffre de ce problème en utilisant la version 3.0.0.4 mais je n'ai pas pu le reproduire dans un ensemble plus petit. J'ai cependant illustré deux autres problèmes fréquemment signalés dans un petit échantillon sur http://github.com/andymeadows/SubSonic-Defect-Help – andymeadows