我目前遇到这里(和其他几个地方)提到的问题:Subsonic 3 Linq Projection Issue
这是使用 3.0.0.4 发布包发生的,当我从 GitHub 获取最新版本并构建它时也会发生这种情况。
我正在使用 LINQ 模板。
我有这个代码:
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
}
}
};
但 AccountName 始终为空。
如果我将 AccountName 更改为 Name:
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
}
}
};
它工作正常。但这在我们的项目中是不可接受的;我不能总是把名字排成一行(除了如果我可以的话,它会让事情变得不那么清楚)。
但我很困惑,因为看起来这个问题已经解决了:
“修复了 Projections 返回 null 或空设置的问题”
-- http://blog.wekeroad.com/2010/03/21/subsonic-3-0-0-4-released
那么,谁能告诉我:这个问题没有解决吗,我是否必须应用在http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb上找到的更改才能完成这项工作?或者我错过了什么。因为查看当前的 SubSonic 源,似乎已包含此修复程序。我觉得这应该是简单和有效的,但相反我花了过多的时间在它上面。