至于kyndigs指的是在他的评论中,唯一的办法就是假货与? :
三级运营商的switch语句:
internal static readonly Func<MyEntities, long, MessageSortField, int, int, IQueryable<Model.Message>> MessagesPagedSortedAscQuery =
CompiledQuery.Compile((MyEntities db, long folderId, MessageSortField sortField, int skip, int take) =>
(
sortField == MessageSortField.Date ? db.Messages.Where(e => e.FolderId == folderId).OrderBy(m => m.Date).Skip(skip).Take(take) :
sortField == MessageSortField.Subject ? db.Messages.Where(e => e.FolderId == folderId).OrderBy(m => m.Subject).Skip(skip).Take(take) :
sortField == MessageSortField.From ? db.Messages.Where(e => e.FolderId == folderId).OrderBy(m => m.From).Skip(skip).Take(take) :
db.Messages.Where(e => e.FolderId == folderId).Skip(skip).Take(take)
));
有一个类似的问题已经在SO这可以帮助:HTTP://计算器.COM /问题/ 936028/LINQ-case语句 – kyndigs 2010-10-13 11:22:26