Attualmente sto vivendo il problema menzionato qui (e diversi altri luoghi): Subsonic 3 Linq Projection IssueSubsonic 3 LINQ Problema di proiezione, fisso o no?
Questo sta avvenendo utilizzando il pacchetto 3.0.0.4 rilascio, e si verifica anche quando mi afferra l'ultimo da GitHub e costruirlo.
Sto usando i modelli LINQ.
ho questo codice:
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
}
}
};
Ma NomeAccount è sempre nullo.
Se cambio la NomeAccount Nome:
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
}
}
};
funziona benissimo. Ma non è accettabile nel nostro progetto; Non riesco sempre a mettere in fila i nomi (oltre al fatto che renderebbe le cose meno chiare se potessi).
Ma sono abbastanza confuso perché sembrerebbe questo problema è stato risolto:
"Risolto il problema per cui proiezioni sono state tornando impostazioni nulli o vuoti"
- http://blog.wekeroad.com/2010/03/21/subsonic-3-0-0-4-released
Così, qualcuno può dimmi: questo problema non è stato risolto e devo applicare le modifiche trovate qui allo http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb per farlo funzionare? O mi sta sfuggendo qualcosa. Perché guardando attraverso l'attuale sorgente SubSonic sembra che questa correzione sia stata inclusa. Credo che questo dovrebbe essere semplice e funzionare, ma invece ho trascorso una quantità eccessiva di tempo.
Non avrò il tempo di produrre un progetto minimale che illustri il mio problema per un paio di giorni, ma lo intendo. _pulseQuery e _accountQuery implementare IQueryable e semplicemente esporre SubSonic.Repository.SubSonicRepository .GetAll(). Concludo le installazioni di SubSonic con una semplice interfaccia DAO ed esporre IQueryable a livelli superiori. Sto usando i modelli LINQ di SubSonic (chiamati anche modelli avanzati?) –
Saintedlama, anch'io soffro di questo problema utilizzando 3.0.0.4 ma non sono riuscito a riprodurlo in un set più piccolo, al di fuori di un progetto più grande. Ho tuttavia illustrato altri due problemi pubblicati in un piccolo set di esempi su http://github.com/andymeadows/SubSonic-Defect-Help – andymeadows