私は現在、ここ(および他のいくつかの場所)で言及されている問題を経験しています: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は常にnullです。
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
}
}
};
正常に動作します。しかし、それは私たちのプロジェクトでは受け入れられません。私はいつも名前を並べることはできません(できれば物事がわかりにくくなるという事実を除いて)。
しかし、この問題は修正されたように見えるので、私はかなり混乱しています。
「プロジェクションがnullまたは空の設定を返す問題を修正しました」
--http ://blog.wekeroad.com/2010/03/21/subsonic-3-0-0-4-released
だから、誰かが私に言うことができます:この問題は修正されていません、そして私はこれを機能させるためにここにある変更をhttp://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdbに適用する必要がありますか?または私は何かが欠けていますか。現在のSubSonicソースを調べると、この修正が含まれているようです。これはシンプルでうまくいくはずだと思いますが、その代わりに私はそれに途方もない時間を費やしました。