class ShowAllOpenDefectsAssignedToTimBySeverity
{
static void Main()//使用orderby子句进行排序 按bug严重的优先级
//从高到低的顺序排序
{
User tim = SampleData.Users.TesterTim;
//tim {User: Tim Trotter (Tester)}
var query = from bug in SampleData.AllDefects
where bug.Status != Status.Closed
//bug { 1: MP3 files crash system(2013/5/1-2013/5/23, Showstopper/Accepted, Tim Trotter -> Darren Dahlia)}, tim = {User: Tim Trotter (Tester)}
//{ 2: Text is too big (2013/5/3-2013/5/9, Trivial/Closed, Deborah Denton -> n/a)}
//{ 3: Sky is wrong shade of blue (2013/5/3-2013/5/19, Minor/Fixed, Colin Carton -> Tara Tutu)}
//{ 4: Can't play files more than 200 bytes long (2013/5/4-2013/5/23, Major/Reopened, Darren Dahlia -> Darren Dahlia)}
//{ 5: Installation is slow (2013/5/6-2013/5/15, Trivial/Fixed, Tim Trotter -> Tim Trotter)}
//{ 6: DivX is choppy on Pentium 100 (2013/5/7-2013/5/29, Major/Accepted, Mary Malcop -> Darren Dahlia)}
//{ 7: Client acts as virus (2013/5/8-2013/5/10, Showstopper/Closed, Deborah Denton -> n/a)}
//{ 8: Subtitles only work in Welsh (2013/5/8-2013/5/23, Major/Fixed, Darren Dahlia -> Tim Trotter)}
//{ 9: Voice recognition is confused by background noise (2013/5/9-2013/5/15, Minor/Closed, Colin Carton -> n/a)}
//{10: User interface should be more caramelly (2013/5/9-2013/5/9, Trivial/Created, Tim Trotter -> Darren Dahlia)}
//{11: Burning a CD makes the printer catch fire (2013/5/10-2013/5/29, Showstopper/Closed, Mary Malcop -> n/a)}
//{12: Peer to peer pairing passes parameters poorly (2013/5/10-2013/5/12, Minor/Accepted, Tara Tutu -> Darren Dahlia)}
//{13: Delay when sending message (2013/5/11-2013/5/20, Minor/Fixed, Darren Dahlia -> Tara Tutu)}
//{14: Volume control needs to go to 11 (2013/5/11-2013/5/11, Minor/Created, Mary Malcop -> Darren Dahlia)}
//{15: Splash screen fades too quickly (2013/5/11-2013/5/15, Minor/Fixed, Colin Carton -> Tara Tutu)}
//{16: Text box doesn't keep up with fast typing (2013/5/12-2013/5/12, Major/Accepted, Deborah Denton -> Deborah Denton)}
//{17: Password displayed in plain text (2013/5/12-2013/5/13, Showstopper/Closed, Darren Dahlia -> n/a)}
//{18: Play button points the wrong way (2013/5/12-2013/5/17, Major/Fixed, Tim Trotter -> Tim Trotter)}
//{19: Wizard needed for CD burning (2013/5/13-2013/5/20, Minor/Fixed, Colin Carton -> Colin Carton)}
//{20: Subtitles don't display during fast forward (2013/5/13-2013/5/14, Trivial/Accepted, Mary Malcop -> Darren Dahlia)}
//{21: Memory leak when watching Memento (2013/5/13-2013/5/13, Trivial/Created, Darren Dahlia -> Deborah Denton)}
//{22: Profile screen shows login count of -1 (2013/5/13-2013/5/20, Major/Accepted, Deborah Denton -> Deborah Denton)}
//{23: Server crashes under heavy load (3 users) (2013/5/13-2013/5/17, Major/Accepted, Tim Trotter -> Deborah Denton)}
//{24: Unable to connect to any media server (2013/5/15-2013/5/18, Showstopper/Reopened, Tara Tutu -> Darren Dahlia)}
//{25: UI turns black and white when playing old films (2013/5/15-2013/5/25, Minor/Fixed, Deborah Denton -> Tara Tutu)}
//{26: Password reset changes passwords for all users (2013/5/16-2013/5/18, Showstopper/Closed, Mary Malcop -> n/a)}
//{27: Modern music sounds rubbish (2013/5/17-2013/5/17, Trivial/Created, Tim Trotter -> Darren Dahlia)}
//{28: Webcam makes me look bald (2013/5/18-2013/5/27, Showstopper/Fixed, Tim Trotter -> Tim Trotter)}
//{29: Sound is distorted when speakers are underwater (2013/5/18-2013/5/18, Major/Created, Colin Carton -> Darren Dahlia)}
//{30: Japanese characters don't display properly (2013/5/19-2013/5/23, Major/Accepted, Darren Dahlia -> Deborah Denton)}
//{31: Video takes 100% of CPU (2013/5/20-2013/5/22, Major/Accepted, Tara Tutu -> Deborah Denton)}
//{32: DVD Easter eggs unavailable (2013/5/22-2013/5/22, Trivial/Created, Tim Trotter -> Darren Dahlia)}
//{33: Transparency is high for menus to be readable (2013/5/23-2013/5/25, Minor/Accepted, Mary Malcop -> Deborah Denton)}
//{34: About box is missing version number (2013/5/24-2013/5/29, Minor/Fixed, Colin Carton -> Colin Carton)}
//{35: Logs record confidential conversations (2013/5/25-2013/5/30, Major/Reopened, Tim Trotter -> Darren Dahlia)}
//{36: Profanity filter is too aggressive (2013/5/27-2013/5/29, Minor/Fixed, Deborah Denton -> Tara Tutu)}
//{37: Full screen mode fails on dual monitors (2013/5/27-2013/5/27, Minor/Created, Tara Tutu -> Deborah Denton)}
//{38: Visualization hypnotises pets (2013/5/28-2013/5/29, Minor/Accepted, Colin Carton -> Deborah Denton)}
//{39: Resizing while typing loses input (2013/5/29-2013/5/29, Trivial/Created, Mary Malcop -> Darren Dahlia)}
//{40: Network is saturated when playing WAV file (2013/5/30-2013/5/31, Minor/Fixed, Tim Trotter -> Tim Trotter)}
//{41: Media library tells user to keep the noise down (2013/5/31-2013/5/31, Major/Created, Tara Tutu -> Darren Dahlia)}
where bug.AssignedTo == tim
//tim {User: Tim Trotter (Tester)}
orderby bug.Severity descending
//{ 5: Installation is slow (2013/5/6-2013/5/15, Trivial/Fixed, Tim Trotter -> Tim Trotter)}
//{ 8: Subtitles only work in Welsh (2013/5/8-2013/5/23, Major/Fixed, Darren Dahlia -> Tim Trotter)}
//{18: Play button points the wrong way (2013/5/12-2013/5/17, Major/Fixed, Tim Trotter -> Tim Trotter)}
//{28: Webcam makes me look bald (2013/5/18-2013/5/27, Showstopper/Fixed, Tim Trotter -> Tim Trotter)}
//{40: Network is saturated when playing WAV file (2013/5/30-2013/5/31, Minor/Fixed, Tim Trotter -> Tim Trotter)}
//
select bug;
//query {System.Linq.OrderedEnumerable<Model.Defect,Model.Severity>}
foreach (var bug in query)
//in 调用 bug.Status != Status.Closed
//调用 bug.AssignedTo == tim 失败就调用 bug.Status != Status.Closed
//调用完前两个where 调用orderby bug.Severity descending
//之后就不调用where 和 orderby了
//var bug
//{28: Webcam makes me look bald (2013/5/18-2013/5/27, Showstopper/Fixed, Tim Trotter -> Tim Trotter)}
//{ 8: Subtitles only work in Welsh (2013/5/8-2013/5/23, Major/Fixed, Darren Dahlia -> Tim Trotter)}
//{18: Play button points the wrong way (2013/5/12-2013/5/17, Major/Fixed, Tim Trotter -> Tim Trotter)}
//{40: Network is saturated when playing WAV file (2013/5/30-2013/5/31, Minor/Fixed, Tim Trotter -> Tim Trotter)}
//{ 5: Installation is slow (2013/5/6-2013/5/15, Trivial/Fixed, Tim Trotter -> Tim Trotter)}
{
Console.WriteLine("{0}: {1}", bug.Severity, bug.Summary);
}
}
}
我们可以使用一个简单查询来告知Tim,他应该处理分配给他的bug顺序。
使用orderby子句以优先级降序的方式,按照我们想的那样,打印出所有bug的
详细信息。
输出
Showstopper: Webcam makes me look bald
Major: Subtitles only work in Welsh
Major: Play button points the wrong way
Minor: Network is saturated when playing WAV file
Trivial: Installation is slow