我正在学习实体框架和 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 用于一行和一列,这是我来的最远的地方。
我只是在谷歌上找不到可以帮助我大脑的例子。
帮助表示赞赏。
PS:使用纯实体还是混合linq(linq to entity)更好?