bra*_*don 4 c# join linq-to-sql
我有以下两个类:
book_page
章节
我有一系列book_pages及其章节标题.我希望能够按照"chapter_title"在"章节"集合中出现的顺序对book_page集合进行排序,然后按"章节内的顺序"字段排序.
我尝试在chapter_title列上编写连接,然后按chapter.order排序,然后按page.order_within_page排序,但没有运气.有什么建议?
我的代码:
var ordered_pages= from chapter in chapters
join page in book_pages
on chapter.chapter_title equals page.chapter_title
select new{order = chapter.order,page = page}
var finalList = from row in ordered_pages.OrderBy(c => c.order).ThenBy(p =>p.page.order_within_chapter)
select row.page;
Run Code Online (Sandbox Code Playgroud)
这实际上并不起作用,即使它确实很难看.我错过了使用LINQ执行此操作的方法吗?
小智 9
我相信它应该是什么样子.
var ordered_pages =
from chapter in chapters
join page in book_pages
on chapter.chapter_title equals page.chapter_title
orderby page.order_within_chapter
orderby chapter.order
select page;
Run Code Online (Sandbox Code Playgroud)
page.order_within_chapter将首先订购,然后chapter.order将运行.
var a = db.Chapters;
var b = db.Pages
.Select(p => new { page = p, chapter = a.FirstOrDefault(q => q.Title == p.Caption) })
.OrderBy(p=>p.chapter.order).ThenBy(p=>p.page.order).Select(p=>p.page).ToList();
Run Code Online (Sandbox Code Playgroud)
要么
var b=db.Pages.Join(a, p => p.Caption, p => p.Title,
(p, q) => new { page = p, chapter = q }).OrderBy(p => p.page.Code)
.ThenBy(p => p.chapter.t1).Select(p=>p.page).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14928 次 |
| 最近记录: |