使用VBNET,MVC 3和Entity Framework來編寫我的第一個mvc應用程序 - 一個用戶博客應用程序。我正在嘗試創建一個歸檔邊欄,它將呈現類似2011年10月的內容,當用戶點擊時,他們將在十月份看到所有帖子。現在我所有的嘗試都顯示重複的日期 - 如果有10個職位在十月然後我看到十月2011年3次或我只回來一個月年組合說2011年十月。如何獲得唯一的月份和年份組合?
使用groupby with firstordefault我只得到一個月yaear組合。
posts = _rdsqlconn.Posts.Where(Function(p) p.PostIsPublished = True).GroupBy(Function(d) d.PostDatePublished).FirstOrDefault
我該如何找回與EF獨特的月度連續劇?
其他信息
我有我的存儲庫的功能。我想拉動月份和年份對,這樣即使在10月有3個帖子,我也只有一對說ocotober。 在倉庫:
Public Function SelectPostsByDate() As IEnumerable(Of Entities.Post) Implements Interfaces.IPostRepository.SelectPostsByDate
Using _rdsqlconn As New RDSQLConn
Dim posts
posts = _rdsqlconn.Posts.Where(Function(p) p.PostIsPublished = True).GroupBy(Function(p) New With {p.PostDateCreated.Year, p.PostDateCreated.Month}).Select(Function(g) g.Key)
'posts = _rdsqlconn.Posts.Where(Function(p) p.PostIsPublished = True).GroupBy(Function(p) New With {p.PostDatePublished.Value.Year, p.PostDatePublished.Value.Month})
Return posts
End Using
End Function
在我的控制,我有
Function DateViewPartial() As PartialViewResult
Return PartialView(_postRepository.SelectPostsByDate)
End Function
我的部分觀點有:
@ModelType IEnumerable (of RiderDesignMvcBlog.Core.Entities.Post)
<hr />
<ul style="list-style: none; margin-left:-35px;">
@For Each item In Model
@<li> @Html.ActionLink(item.PostDatePublished.Value.ToString("Y"), "Archives", "Blog", New With {.year = item.PostDatePublished.Value.Year, .month = item.PostDatePublished.Value.Month}, Nothing)</li>
Next
</ul>
在_Layout.vbhtml我所說的局部視圖在側邊欄呈現:
<h3>Posts by Date</h3>
@code
Html.RenderAction("DateViewPartial", "Blog")
End Code
我已經編輯我的回答。 – Slauma