Jestem obecnie przeżywa problem wymieniony tutaj (i kilku innych miejscach): Subsonic 3 Linq Projection IssueSubsonic 3 LINQ Problem z projekcją, naprawiony czy nie?
Dzieje się przy użyciu pakietu 3.0.0.4 zwalniający, a także pojawia się, gdy łapię najpóźniej od GitHub i zbudować.
Używam szablonów LINQ.
mam ten kod:
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
}
}
};
Ale Nazwa_konta zawsze ma wartość null.
Jeśli zmienię ACCOUNTNAME do Nazwa:
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
}
}
};
To działa dobrze. Ale nie jest to dopuszczalne w naszym projekcie; Nie zawsze mogę ustawić nazwy w kolejce (poza faktem, że byłoby to mniej jasne, gdybym mógł).
Ale jestem zupełnie zdezorientowany, ponieważ wydaje się, problem ten został ustalony:
„Naprawiono problem gdzie Projekcje wracali zerowe lub puste ustawienia”
- http://blog.wekeroad.com/2010/03/21/subsonic-3-0-0-4-released
Więc może ktoś powiedz mi: czy ten problem nie został naprawiony i czy muszę zastosować zmiany znalezione tutaj pod adresem http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb, aby to zadziałało? Czy może czegoś brakuje? Ponieważ przeglądając obecne źródło SubSonic wydaje się, że ta poprawka została uwzględniona. Czuję, że to powinno być proste i działa, ale spędziłem na nim nadmierną ilość czasu.
Nie będę miał czasu na opracowanie minimalnego projektu ilustrującego mój problem przez kilka dni, ale zamierzam to zrobić. _pulseQuery & _accountQuery implementuj IQueryable i po prostu wyeksponuj SubSonic.Repository.SubSonicRepository .GetAll(). Pakuję obiekty SubSonic za pomocą prostego interfejsu DAO i wystawiam IQueryable na wyższe warstwy. Używam szablonów LINQ SubSonic (zwanych również szablonami zaawansowanymi?) –
Saintedlama, ja też cierpię z powodu tego problemu przy użyciu 3.0.0.4, ale nie byłem w stanie odtworzyć go w mniejszym zestawie - poza większym projektem. Zilustrowałem jednak dwa inne często publikowane problemy w małym zestawie próbek na stronie http://github.com/andymeadows/SubSonic-Defect-Help – andymeadows