Context ใน EF ใช้เป็น interface สำหรับ insertupdatedelete และ query ข้อมูล โดยการประกาศ context ต้อง inherit class ชื่อ DbContext
1 2 3 4 5 6 7
typeAppContext(connection:string) = inherit DbContext(connection) [<DefaultValue>] valmutableprivate users: DbSet<QUser> member this.Users with get() = this.users and set v = this.users <- v
เมื่อเขียน Entity class และ context ครบแล้ว ต่อไปคือการ generate ฐานข้อมูลให้ได้ table และ field ตรง ที่ตามที่ประกาศไว้ใน Entity class วิธีการคือ ให้เพิ่มโค้ด Database.SetInitializer ก่อนที่จะทำ operation ใด ๆ ก็ตามกับฐานข้อมูล
1 2 3 4
Database.SetInitializer<AppContext> (new DropCreateDatabaseIfModelChanges<AppContext>()); use context = new AppContext("production") let rs = context.Users.Where(fun x -> x.FirstName = "").FirstOrDefault()
จากตัวอย่างใช้วิธีส่งคำสั่ง new DropCreateDatabaseIfModelChanges<AppContext>() ซึ่งหมายความว่าให้ drop ฐานข้อมูลและสร้างใหม่ถ้าตรวจเจอว่า Entity class มีการแก้ไข