私は次のコードを持っている:私は.ToList()
または似たようなプリフォームどこかすなわちdataSource
を使用するときに式が実際に計算されているので、もちろんここでの問題が修正閉鎖へのアクセス権を持っているVisible = service.IsSessionProcessing(u.UploadSessionId)
部分です...linq式の修正されたクロージャへのアクセスを避けるには?
ServiceSoapClient service = new ServiceSoapClient();
var dataSource = (from u in _db.Sessions
where u.DeletedOn == null
select new
{
SessionId = u.UploadSessionId,
FileName = u.FileName,
CreatedBy = u.User.UserName,
Partner = u.Company.Name,
CreatedOn = u.CreatedOn,
Visible = service.IsSessionProcessing(u.UploadSessionId)
})
.OrderByDescending(x => x.CreatedOn);
を。
ここでの問題は、コントロールのデータソースとしてそのまま使用する必要があるため、すぐに.ToList()
を実行できないという問題です。
Linqでこれを避ける方法はありますか?実際の値で計算されるように、式自体にローカル変数を使用できますか?
私は何かが欠けていない限り、この 'u'は*すでに*表現に対してローカルである...は修正クロージャとしてことを報告するものですか? –
返される匿名型のコレクションを使用すると、service.IsSessionProcessing(u.UploadSessionId)のすべての値が最後のものと等しい... – TheBoyan
まあ、私はそれらがすべて真であると推測していますまたは 'false'なので、*たくさんの*オプションではありません。しかし、 'SessionId'は違うのですか? –