Actualmente estoy experimentando el problema mencionado aquí (y varios otros lugares): Subsonic 3 Linq Projection IssueSubsonic 3 Problema de proyección LINQ, ¿corregido o no?
Esto está ocurriendo con el paquete 3.0.0.4 liberación, y también ocurre cuando me agarra el último de GitHub y construirlo.
Estoy usando las plantillas LINQ.
tengo este código:
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
}
}
};
Pero AccountName siempre es nula.
Si cambio la AccountName a Nombre:
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
}
}
};
funciona bien. Pero eso no es aceptable en nuestro proyecto; No siempre puedo alinear los nombres (además del hecho de que eso haría las cosas menos claras si pudiera).
Pero estoy bastante confundido porque parecería este problema ha sido fijada:
"Solucionado el problema de Proyecciones regresaban ajustes nulos o vacíos"
- http://blog.wekeroad.com/2010/03/21/subsonic-3-0-0-4-released
Por lo tanto, puede alguien dime: ¿Este problema no está solucionado, y tengo que aplicar los cambios que se encuentran aquí en http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb para que esto funcione? O me estoy perdiendo algo. Porque mirando a través de la fuente SubSonic actual parece que esta corrección ha sido incluida. Siento que esto debería ser simple y funcionar, pero en su lugar he gastado una cantidad de tiempo desmesurada.
No tendré tiempo para producir un proyecto mínimo que ilustre mi problema durante un par de días, pero tengo la intención de hacerlo. _pulseQuery & _accountQuery implementa IQueryable y simplemente expone SubSonic.Repository.SubSonicRepository .GetAll(). Envuelvo las instalaciones SubSonic con una interfaz DAO simple y expongo IQueryable a capas más altas. Estoy usando las plantillas LINQ de SubSonic (también llamadas Plantillas Avanzadas?) –
Saintedlama, yo también sufro este problema usando 3.0.0.4 pero no he podido reproducirlo en un conjunto más pequeño, fuera de un proyecto más grande. Sin embargo, he ilustrado otros dos problemas comúnmente publicados en un pequeño conjunto de muestras en http://github.com/andymeadows/SubSonic-Defect-Help – andymeadows