我正在學習實體框架和MVC。實體框架如何傳遞數據來查看?
這是我的模型:
public class ChatLogContext : DbContext
{
public ChatLogContext()
: base("connString")
{
}
public DbSet<ChatLogs> ChatLogs { get; set; }
}
[Table("ChatLogs")]
public class ChatLogs
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int ChatLogId { get; set; }
[Column("Message")]
public string Message { get; set; }
[Column("UserId")]
public int UserId { get; set; }
}
這是我的控制器代碼在這裏:
public ActionResult Index()
{
using(var db = new ChatLogContext())
{
var list = db.ChatLogs.Select(p => p.Message).SingleOrDefault();
ViewBag.data = list;
return View();
}
}
我再訪問這些數據,鑑於這樣的:
@model Chat.Models.ChatLogs
@Html.Raw(ViewBag.data)
我可以訪問1記錄,如此處所示。
但我想了解如何從表ChatLogs與實體框架訪問所有記錄,並傳遞給使用Razor方法(foreach)查看,所以我可以格式化該數據(我不喜歡默認表VS生成)。我現在使用ViewBag的一行和一列,這是我來的最遠的地方。
我在Google上找不到一個能幫助我的大腦的例子。
幫助表示讚賞。 PS:使用純實體還是混合使用linq(linq to entities)會更好嗎?
請解釋一下你所說的「PS:使用純實體還是混合使用linq(linq到實體)更好?」。 – Aron
使用實體查詢或linq到實體? –
對不起。我仍然不明白「查詢實體」和「Linq to Entity」的含義。也許你應該編輯你的問題來提供代碼中的每個例子。更好的是,開發一個關於程序員的新問題(因爲它聽起來像是關於代碼質量的問題)。 – Aron