for read more logic you can search on google. however i am posting answer for this question where you want to loop through records and form the HTML.
Basically in c# code on page_Load method, you will fire query the linq which you have written.
after taking the record you will form the HTML and bind this HTML to a placeholder which is on aspx.
so your aspx code will be
<div id="blogData" runat="server"></div>
and in your pageload you will write below code
var query = (from c in db.table
select new
{
c.id,
c.Author,
c.BlogTitle,
c.BlogDescription
}).OrderByDescending(d => d.id)
System.Text.StringBuilder sb = new System.Text.StringBuilder();
query.ForEach(x => { sb.Append(string.Format("<div class='row '><div class='col-xs-12'><div class='item item-left'><div class='col-md-6 nopadding hidden-xs'><img src='../images/blog/1.jpg' alt='News Image'><span class='img-overflow'></span><div class='arrow-left'></div></div><div class='col-xs-6 '><div class='content'><p class='date'>{0}</p>'+'<h2>{1}</h2>'+'<p>{2}</p>'+'<a href='artikel' class='btn btn-primary btn-xs'>Read More</a>'+'<span class='comments'>0 '></span></div></div></div></div></div>", x.Author, x.BlogTitle,x.BlogDescription)); });
blogData.InnerHtml = sb.ToString();
note: this is not a tested code you may need to alter it. Best of luck