为什么Reflector ver 7产生了这样错误的Linq代码?
本文关键字:错误 Linq 代码 Reflector ver 产生了 为什么 | 更新日期: 2023-09-27 18:08:09
private FileStorageFolder GetCapsuleContentFolder(FileStorageDataContext db)
{
IQueryable<FileStorageFolder> source = from dbFolder in db.FileStorageFolders
where (dbFolder.ParentID == null) && (dbFolder.Purpose == reportFolderPurpose)
select dbFolder into dbFolder
join dbSubFolder in db.FileStorageFolders on dbFolder.ID equals
dbSubFolder.ParentID into dbSubFolder
where (dbSubFolder.Purpose == capsulelayoutFolderPurpose) &&
(dbSubFolder.FolderName == capsuleReportContent)
select dbSubFolder;
Instrument.Assert(source.Count<FileStorageFolder>() == 1);
return source.Single<FileStorageFolder>();
}
语法不正确。有人知道如何在此基础上创建IQueryable typed吗?
如果有问题,试着把"Optimisation"的设置调小到。net 2.0。这将被迫显示显式的.Select(...)
等。这将生成正确的c#,但没有LINQ风格。