DbSet class 與 EntityFramework
DbSet的特點:
1、DbSet的命名空間為System.Data.Entity
2、組件為EntityFramework.dll
DbSet是代表所有實體的集合
操作範例:
edmx diagram
POCO類別
//------------------------------------------------------------------------------
// <auto-generated>
// 這個程式碼是由範本產生。
//
// 對這個檔案進行手動變更可能導致您的應用程式產生未預期的行為。
// 如果重新產生程式碼,將會覆寫對這個檔案的手動變更。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CKEdit.Models
{
using System;
using System.Collections.Generic;
public partial class MyTab
{
public int Id { get; set; }
public string title { get; set; }
public string date { get; set; }
public string context { get; set; }
}
}
Customzied DbContext
//------------------------------------------------------------------------------
// <auto-generated>
// 這個程式碼是由範本產生。
//
// 對這個檔案進行手動變更可能導致您的應用程式產生未預期的行為。
// 如果重新產生程式碼,將會覆寫對這個檔案的手動變更。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CKEdit.Models
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class CKEditContext : DbContext
{
public CKEditContext()
: base("name=CKEditContext")
{
Database.SetInitializer(new DropCreateDatabaseAlways<CKEditContext>());
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<MyTab> MyTab { get; set; }
}
}
controller對DB的操作
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CKEdit.Controllers
{
public class HomeController : Controller
{
CKEdit.Models.CKEditContext db = new CKEdit.Models.CKEditContext();
public ActionResult Index()
{
return View(db.MyTab.ToList());
}
}
}
参考資料:
[VS2010] ADO.NET Entity Framework 新功能:永續儲存無知物件 (Persistence-Ignorant Object) Overview