私はEntity Frameworkと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つのレコードにアクセスできます。
しかし、Entity Frameworkを使用してChatLogsテーブルからすべてのレコードにアクセスし、Razorメソッド(foreach)でビューに渡す方法を学びたいので、そのデータをフォーマットできます(VSが生成するデフォルトのテーブルは好きではありません)。私は現在、1 行 1 列に ViewBag を使用しています。これが最も遠いところです。
私の頭脳に役立つ例をGoogleで見つけることができません。
助けていただければ幸いです。
PS: 純粋なエンティティで作業するか、linq(エンティティへの linq) を混在させる方が良いですか?