tin*_*han 3 linq asp.net-mvc entity-framework razor
我一定错过了一些明显的东西.此查询中的orderby cluase对我的选择列表中显示的项目的顺序没有影响...
List<String> reps = (from r in db.bookings
where !r.bookingRep1.Contains("*") && !r.bookingRep1.Contains(" ")
orderby r.bookingRep1
select r.bookingRep1).Distinct().ToList();
ViewBag.rep1 = new SelectList(reps, booking.bookingRep1);
Run Code Online (Sandbox Code Playgroud)
选择清单......
@Html.DropDownListFor(model => model.bookings.bookingRep1, (SelectList)ViewBag.rep1, "")
Run Code Online (Sandbox Code Playgroud)
我希望selectrep1按字母顺序排序选择列表
申请后申请Distinct:
List<string> reps =
(from r in db.bookings
where !r.bookingRep1.Contains("*") && !r.bookingRep1.Contains(" ")
select r.bookingRep1).Distinct().OrderBy(rep => rep).ToList();
ViewBag.rep1 = new SelectList(reps, booking.bookingRep1);
Run Code Online (Sandbox Code Playgroud)
当您应用于Distinct有序查询,然后从生成的SQL中删除刚刚排序:
SELECT
[Distinct1].[bookingRep1] AS [bookingRep1]
FROM ( SELECT DISTINCT
[Extent1].[bookingRep1] AS [bookingRep1]
FROM [dbo].[bookings] AS [Extent1]
WHERE [Extent1].[bookingRep1] NOT LIKE @p1 AND
[Extent1].[bookingRep1] NOT LIKE @p2
) AS [Distinct1]
Run Code Online (Sandbox Code Playgroud)
Distinct在生成SQL 之后,在它之后应用排序时:
SELECT
[Distinct1].[bookingRep1] AS [bookingRep1]
FROM ( SELECT DISTINCT
[Extent1].[bookingRep1] AS [bookingRep1]
FROM [dbo].[bookings] AS [Extent1]
WHERE [Extent1].[bookingRep1] NOT LIKE @p1 AND
[Extent1].[bookingRep1] NOT LIKE @p2
) AS [Distinct1]
ORDER BY [Distinct1].[bookingRep1] ASC
Run Code Online (Sandbox Code Playgroud)