有兩個類,如博客和發佈,在實體框架(和LINQ到實體),如何獲得按日期排序的博客。我得到了與博客帖子這樣說:如何獲得使用實體框架爲ASP.NET MVC排序的相關對象
from blog in db.BlogSet.Include("Posts") select blog
,現在我不得不這樣做:
public class BlogAndPosts {
public Blog Blog { get; set; }
public IEnumerable<Post> Posts { get; set; }
}
from blog in db.BlogSet
select new BlogAndPosts() {
Blog = blog,
Posts = blog.Posts.OrderByDescending(p => p.PublicationTime)
}
,這是非常令人費解的和醜陋的。我創建BlogPosts類的原因是現在,因爲我必須將兩個變量Blog和Posts傳遞給MVC,所以我需要一個視圖模型。
我甚至很想嘗試這個技巧:
from blog in db.BlogSet
select new Blog(blog) {
Posts = blog.Posts.OrderByDescending(p => p.PublicationTime)
}
但什麼是做了正確的方法是什麼?實體框架不是MVC的方式嗎?
只是爲了記錄,我不認爲這樣做是有道理的,除了解決方法實體框架。使用任何其他ORM我不會提取相關的對象,並把它們放在一個類中;儘管如此,我會把一個完全獨立的數據放進去。無論如何,它是有效的,所以我接受它。 – Pablo 2010-05-22 08:51:17