Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,774

HOME > Entity Framework (EF) สอนเขียน LINQ to Entities บน .NET Application > รู้จัก Entity Framework (EF) คืออะไร ใช้ทำอะไร และมีประโยชน์อย่างไรบน .Net Framework





Clound SSD Virtual Server

รู้จัก Entity Framework (EF) คืออะไร ใช้ทำอะไร และมีประโยชน์อย่างไรบน .Net Framework

รู้จัก Entity Framework (EF) คืออะไร ใช้ทำอะไร และมีประโยชน์อย่างไรบน .Net Framework การพัฒนา Application ด้วย .Net Framework เพื่อใช้งานทั่ว ๆ ไป การติดต่อกับ Database ถือเป็นหัวใจหลักในการพัฒนาโปรแกรม รองจากการวางโครงสร้างของ Application และจากประสบการณ์การเขียนโปรแกรมและผ่านโปรเจคมามาหลายตัว ทั้งขนาดเล็กคนเดียว หรือ 2-3 คน หรือทีมเป็น 10 คน ประสบการณ์หนึ่งที่ได้จากการทำงานเป็นทีม คือการไม่มีมาตตรฐานของการเขียน Coding ในแนวคิดว่าสไตล์ใครสไตล์มัน การออกแบบ Class ที่ใช้ในการติดต่อกับ Database ค่อนข้างจะมีความสำคัญมาก ถ้าออกแบบและเขียนไม่ดีตั้งแต่แรกเมื่อโปรแกรมพัฒนาไปได้และเริ่มมีขนาดใหญ่ การทำงานที่ซับซ้อนมากขึ้น หรือเมื่อโปรแกรมเมอร์คนอื่น ๆ มารับช่วงต่อ และขาดความเข้าใจและแนวคิดของคนที่ Design ไว้ตั้งแต่แรก เราจะเห็นการการติดต่อกับ Database ที่เริ่มมั่วเกิดขึ้น การเปิด-ปิดหลายครั้ง เพื่อเขียน SQL Query ให้ได้ตรงกับความต้องการ จะเกิดข้อมูลออกมาใช้งาน ซ้ำ ๆ ไม่มีมาตรฐานว่าต้องเรียกใช้ตอนไหน และ เรียกใช้อย่างไร ในหลายครั้งจะเห็นการสร้าง Method ขึ้นมาใหม่ที่ไม่มีความจำเป็นว่าเขียนแบบนี้มีข้อดีและข้อเสียอย่างไร และจะมีปัญหากับ Performance ในอนาคตเมื่อมี Database ใหญ่ขึ้นหรือผู้ใช้จำนวนมากขึ้นหรือไม่ และยิ่งการออกแบบ Class ของโปรแกรมเมอร์ที่วางโครงของแต่ล่ะคนก็ไม่สามารถนำมาเป็นมาตรฐาน ขาดประสบการณ์ ว่า Pattern ที่ Design นั้นมันจะสามารถทำงานได้อย่างรวดเร็วและมีประสิทธิภาพ สามารถพัฒนาต่อยอดในอนาคต เมื่อมีความต้องการใหม่ ๆ เกิดขึ้น และจะมั่นใจได้ว่าอย่างไรว่าไม่เป็นปัญหาเกี่ยวกับ Performance ของโปรแกรมในอนาคต ซึ่งเคสดังกล่าวที่ได้พูดถึง ผมได้พบเจอมากับตัวเองในโปรเจคหลายตัว ได้เห็นถึงปัญหาการออกแบบที่ค่อนข้างจะไม่มีมาตรฐาน และเป็น Concept เก่าใช้กันไม่ต่ำกว่า 7-8 ปีมาแล้ว



สาเหตุหลักหนึ่ง ของการพัฒนา Application ในทีมส่วนมาก คือ เมื่อเขียนโปรแกรมไปซะพัก จะเกิดปัญหาว่า ใครอยากเขียนอะไรก็เขียน มีการประกาศ Variable , Function ใหม่ ๆ ขึ้มามากมาย ใช้เหตุผลที่ว่าขอให้โปรแกรมมันทำงานได้ก็พอ แต่ Performance ที่ได้ค่อนข้างจะ Drop ลงมาก เช่น ระบบทำงาน Execute ไป 30 วินาที แทนที่การทำงานจริง ๆ น่าจะไม่ควรเกิน 2-3 วินาทีเท่านั้น จะเพิ่มฟังก์ชั่นอื่น ๆ เช่น เกี่ยวกับ Transaction ของโปรแกรม หรือจัดทำ Log กลับต้องรื้อโปรแกรมใหม่เกือบทั้งหมด บางครั้งก็ทำอะไรเพิ่มเติมไม่ได้ เพราะโปรแกรมมีขนาดใหญ่มากเกินจะมาตามแก้ ก็ต้องปล่อยให้มันทำงานแบบผิด ๆ ถูก ๆ แล้วค่อยมาทำการเขียน Query เพื่อซ่อม Data ซึ่งเป็นการแก้ปัญหาที่ปลายเหตุ และเป็นการวาง Logic ที่ทำให้คนมารับช่วงต่อเกิดอาการ งง และ สับสนว่า จะสร้างมันมาเพื่ออะไร??

ปัญหาดังที่กล่าวมานี้ใน .Net Framework ได้มีการออก Library ออกมาหลายตัวเพื่อมาลดปัญหาของการสร้างมาตรฐานในการติดต่อกับ Database อันที่จริงมันมีอยู่หลายตัวมาก แต่ตัวหนึ่งที่น่าสนใจและมากับ .NET Framework ชื่อว่า Entity Framework ทำหน้าที่เป็น Entity Data Model (คลาสสำหรับจัดการกับ Database) วัตถุประสงค์หลัก ๆ ของมันคือ ทำหน้าที่เป็น Data Layer ร่วมกับ ADO.Net ในการที่จะเชื่อมต่อกับ Database และเราจะสั่งให้มันทำงานกับ Table ต่าง ๆ ผ่าน Layer นี้ สำหรับ Concept ของ Entity Framework ออกมาได้ซะพักละหลายปีและหลายเวอร์ชั่นแล้ว และหลายคนก็ได้เลือกใช้ไปแล้วในหลายโปรเจค ซึ่งมันก็มีทั้งข้อดีและข้อเสีย แต่สำหรับผมแล้วใช้มันมา 3-4 โปรคเจคแล้ว และมันก็ค่อนข้างจะทำงานได้เร็วไม่มีปัญหาในเรื่องของ Performance หรือปัญหาในเรื่องของ Design Pattern การพัฒนาต่อยอดในอนาคต และสมาชิก ๆ ในทีมหลายคนก็สามารถเขียนและพัฒนาได้ในรูปแบบที่เดียวกัน ซึ่งสำหรับผมแล้วมันค่อนข้างเยี่ยมและทำงานได้อย่างน่าพอใจ และในบทความเกี่ยวกับ Entity Framework ผมจะพยายามใช้ศัพท์ที่เข้าใจง่าย และ ไม่ซับซ้อน เพราะก่อนจะเขียนบทความนี้ ผมลองหาอ่านจากหลาย ๆ เว็บ แล้วมีแค่ใช้ศัพท์ที่เข้าใจยาก และ อ่านไปก็ค่อนข้างจะมีแต่น้ำ ไม่ค่อยมีเนื้อหาที่สรุปให้สามารถนำไปใช้งานจริงได้



Entity Framework ทำหน้าที่เป็น Layer ตัวกลางในการติดต่อระหว่าง Application กับ Database



Entity Framework คืออะไร ???
คือ Library ที่ทำหน้าที่จัดการ Database ร่วมกับการเขียน Class บนโปรแกรมที่เราจะเขียนขึ้น แนวคิดของ Entity Framework อยู่ในรูปแบบของ Object/Relational Mapping (O/RM) คือ Entity Framework จะสร้าง Layer ทำหน้าที่เป็น Database Model ขึ้นมาเป็น Class ใน Project ที่เรากำลังเขียน โดยจะ Mapping ตัว Class ที่จะสร้างขึ้นใหม่นี้ กับ Table , View และ Stored Procedure จาก Database มาไว้บนโปรเจค ซึ่งต่อไปนี้เราสามารถเรียกใช้มันผ่าน Class ที่อยู่ในโปรเจคได้เลย โดยไม่ต้องไปเขียนคำสั่ง SQL Statement ของ INSERT , UPDATE หรือ DELETE แล้วค่อยส่งไป Execute ที่ Table อีก เรียกได้ว่าต่อไปนี้ คำสั่ง SQL บนโปรเจคแทบจะไม่ต้องเขียนอีกเลย และพวกคำสั่ง DataSet, DataTable, DataReader, ExecuteNonQuery ที่ใช้สำหรับการจัดการกับ Data ก็ไม่จำเป็นอีกต่อไปแล้ว เพราะตัว Entity Framework จะทำหน้าที่แทนเราทั้งหมดและให้เราเรียกใช้งาน Table ต่าง ๆ ผ่าน EntitySet ที่มันสร้างขึ้น ส่วนรูปแบบภาษา Syntax ที่จะใช้เขียนให้ Entity Framework ทำงานแทนคือจะใช้ Syntax ของ LINQ to Entitiesทำงานร่วมกับ Generic ของ List ซึ่งเจ้า LINQ นี้จะมี Syntax ที่แตกต่างกับ SQL Statement พอสมควร แต่สามารถเข้าใจง่ายตามรูปแบบของภาษาเช่น VB.Net หรือ C# และก็ไม่ยากที่จะเข้าใจมันได้



Entity Framework จะสร้างจำลอง Model Entities ซึ่งจะจำลองชื่อ EntitySet ให้เหมือนกับชื่อของ Table และ View









Model Entities คืออะไร ?? เป็น Object ใหญ่สุดของ Entity Framework ซึ่งเปรียบเสมือน Class หลักที่รวบรวม EntitySet หรือ Table,View,Stored Procedure มาไว้รวมกัน เราสามารถเพิ่มคุณสมบัติต่าง ๆ ของ EntitySet ได้ เช่น Relation , Data Type หรืออื่น ๆ ภายในหนึ่ง โปรเจคสามารถมีได้หลาย Model Entities และการเรียกใช้งานก็จะเรียกได้มากกว่าหนึ่ง Entities ให้ทำงานพร้อม ๆ กันได้

EntitySet, ObjectSet, DbSet คืออะไร ?? เป็น Object ย่อยของแต่ล่ะ Model Entities ประกอบด้วย Table,View,Stored Procedure เป็น Method ย่อย ๆ ซึ่งเปรียบเสมือน Table และ EntitySet นี้จะคอยทำหน้าที่แลกเปลี่ยนข้อมูลระหว่าง Database กับ Application ที่เราสั่งให้ทำงาน

การเรียกใช้งาน Model Entities
ในการเรียกใช้งาน Database ทั่ว ๆ ไป เราจะต้องทำการกำหนด Connection String พร้อมกับ Open Connection จากนั่นจะสร้าง Command ให้มัน SELECT, INSERT, UPDATE หรือ DELETE ผ่าน Command ของ ADO.Net แต่ถ้าเราเขียนบน Entity Framework เราแทบจะไม่ต้องสนใจคำสั่งพวกนี้เลย เพราะในการเริ่มต้นใช้งาน เราจะเริ่มด้วยการ New Entities หรือเรียกใช้งาน Class ของ Entities มันจะเริ่มทำงานให้เราอัตโนมัติ ซึ่งหลังจากนั้นเราสามารถทำการ Select รายการข้อมูลจาก Table ต่าง ๆ ได้ทันที


เปรียบเทียบ ADO.Net แบบปกติ กับ Entity Framework

ADO.Net แบบปกติ

(C#)
String strConnString = "Server=localhost;UID=sa;PASSWORD=;database=mydatabase;Max Pool Size=400;Connect Timeout=600;";

SqlConnection objConn = new System.Data.SqlClient.SqlConnection(strConnString);
objConn.Open();

String strSQL = "SELECT * FROM customer";

SqlDataReader dtReader;
objCmd = new System.Data.SqlClient.SqlCommand(strSQL, objConn);
dtReader = objCmd.ExecuteReader();

objConn.Close();
objConn = null;
(VB.Net)
Dim strConnString As [String] = "Server=localhost;UID=sa;PASSWORD=;database=mydatabase;Max Pool Size=400;Connect Timeout=600;"

Dim objConn As SqlConnection = New System.Data.SqlClient.SqlConnection(strConnString)
objConn.Open()

Dim strSQL As [String] = "SELECT * FROM customer"

Dim dtReader As SqlDataReader
objCmd = New System.Data.SqlClient.SqlCommand(strSQL, objConn)
dtReader = objCmd.ExecuteReader()

objConn.Close()
objConn = Nothing


ADO.Net ด้วย Entity Framework

(C#)
using (var db = new myDatabaseEntities())
{
	var ds = db.CUSTOMER.ToList();
}
(VB.Net)
Using db = New myDatabaseEntities()
	Dim ds = db.CUSTOMER.ToList()
End Using


Example Syntax การ SELECT

SQL Statement การ SELECT ด้วย Query
SELECT * FROM CUSTOMER ORDER BY CUSTOMER_ID ASC

Syntax Entity Framework ด้วย LINQ (C#)
var ds = db.CUSTOMER.OrderBy(o => (o.CUSTOMER_ID)).ToList();

Syntax Entity Framework ด้วย LINQ (VB.Net)
Dim ds = db.CUSTOMER.OrderBy(Function(o) (o.CUSTOMER_ID)).ToList()


Example Syntax การ INSERT

SQL Statement การ INSERT ด้วย Query
INSERT INTO CUSTOMER (CUSTOMER_ID,NAME,EMAIL,COUNTRY_CODE,BUDGET) 
  VALUES ('C005','Rut Wisarut','[email protected]','TH',5000000,0)

Syntax Entity Framework ด้วย LINQ (C#)
db.CUSTOMER.Add(new CUSTOMER()
    {
	CUSTOMER_ID = "C005",
	NAME = "Rut Wisarut",
	EMAIL = "[email protected]",
	COUNTRY_CODE = "TH",
	BUDGET = 5000000,
	USED = 0,
    });

Syntax Entity Framework ด้วย LINQ (VB.Net)
db.CUSTOMER.Add(New CUSTOMER() With { _
	.CUSTOMER_ID = "C005", _
	.NAME = "Rut Wisarut", _
	.EMAIL = "[email protected]", _
	.COUNTRY_CODE = "TH", _
	.BUDGET = 5000000, _
	.USED = 0 _
})









Example Syntax การ UPDATE

SQL Statement การ UPDATE ด้วย Query
UPDATE CUSTOMER  SET BUDGET = 6000000,USED = 100000 WHERE o.CUSTOMER_ID = C005

Syntax Entity Framework ด้วย LINQ (C#)
var update = db.CUSTOMER.Where(o => (o.CUSTOMER_ID == "C005")).FirstOrDefault();
if (update != null)
{
	update.BUDGET = 6000000;
	update.USED = 100000;
}

Syntax Entity Framework ด้วย LINQ (VB.Net)
Dim update = db.CUSTOMER.Where(Function(o) (o.CUSTOMER_ID = "C005")).FirstOrDefault()
If Not IsNothing(update) Then
    update.BUDGET = 6000000
    update.USED = 100000
End If


Example Syntax การ DELETE

SQL Statement การ DELETE ด้วย Query
DELETE FROM CUSTOMER WHERE CUSTOMER_ID = 'C005'

Syntax Entity Framework ด้วย LINQ (C#)
var del = db.CUSTOMER.Where(o => (o.CUSTOMER_ID == "C005")).FirstOrDefault();
if (del != null)
{
    db.CUSTOMER.Remove(del);
}

Syntax Entity Framework ด้วย LINQ (VB.Net)
Dim del = db.CUSTOMER.Where(Function(o) (o.CUSTOMER_ID = "C005")).FirstOrDefault()
If Not IsNothing(del) Then
    db.CUSTOMER.Remove(del)
End If


Entity Framework ยังสามารถในการ Execute คำสั่ง SQL Statement ทั้ง SELECT,INSERT,UPDATE และ DELETE

Entity Framework Execute SQL Statement (C#)
string strSQL = string.Empty;
strSQL = "INSERT INTO CUSTOMER ";
strSQL += " (CUSTOMER_ID,NAME,EMAIL,COUNTRY_CODE,BUDGET,USED)";
strSQL += " VALUES";
strSQL += " ('C005','Rut Wisarut','[email protected]'";
strSQL += ",'TH','5000000','0')";
db.Database.ExecuteSqlCommand(strSQL);

Entity Framework Execute SQL Statement (VB.Net)
            Dim strSQL As String = String.Empty
            strSQL = "INSERT INTO CUSTOMER "
            strSQL = strSQL & " (CUSTOMER_ID,NAME,EMAIL,COUNTRY_CODE,BUDGET,USED)"
            strSQL = strSQL & " VALUES"
            strSQL = strSQL & " ('C005','Rut Wisarut','[email protected]'"
            strSQL = strSQL & ",'TH','5000000','0')"
            db.Database.ExecuteSqlCommand(strSQL)


ในการใช้ Entity Framework สามารถอ้างถึง Table และ Attribute Field ใน Table ชนิดของ Data Type ได้อย่างถูกต้อง ไม่มีปัญหาเรื่องชื่อ Table หรือ Field ผิดแน่นอน ลดปัญหาการ Insert ข้อมูลหรือพวก SQL Injection , ค่า Null , DBNull , Data Type ซึ่งเป็นปัญหาเก่า ๆ จะไม่เป็นปัญหาอีกต่อไป ประเด็นสำคัญของ Entity Framework คือ มันค่อนข้างจะให้ความสำคัญของ Key และ Relation ของ Table อย่างมาก โดยเฉพาะ Primary Key ถ้า Project ของเราขาดตัวนี้ ก็แนะนำให้หลีกเลี่ยงการใช้ Entity Framework เพราะจะต้องไปจัดการเพิ่ม Key ใน EntitySet ก่อนที่จะใช้งาน ส่วนประเด็นของ Relation ของ Table อันนี้ไม่จำเป็นต้องใช้ก็ได้ แต่ถ้า Table ของเราทำการภูก Relation ไว้แล้วการใช้ Entity Framework จะมีความมหัสจรรย์ยิ่งขึ้น เช่น เราสามารถดึงข้อมูลของ Table พร้อมทั้งข้อมูลที่ Relation ของ Table ที่เกี่ยวข้องออกมาได้ด้วยการเลือกข้อมูลครั้งเดียว โดยที่ไม่ต้องมาทำการ Join Table แต่อย่างใด ยกตัวอย่างขอมูลของ ลูกค้า กับ รายการสั่งซื้อ เราเพียงแค่ Select ข้อมูลลองลูกค้าตาม รหัสูลูค้า หลังจากนั้นข้อมูลพวก Order ต่าง ๆ จะขึ้นมาให้เราอัโตนมัติ สามารถเรียกใช้ได้ทันที โดยไม่ต้องไป Select เพิ่มอีก และยังมีความสามารถในการทำ Cascade พวก Insert , update และ delete แต่ในทางปฏิบัติแล้วการออกแบบ Table ให้มี Relation ถูกต้องเปะ ๆ แทบจะเป็นไปไม่ได้เลย ฉะนั้นทางเลือกของ Relation Table ผมจะไม่ค่อยให้ความสำคัญเท่าไหร่ เพราะสามาาถไปจัดการได้ที่การ Join ข้อมูลแทน




การเชื่อม Relation ของ Table , View จะช่วยให้การทำงานของ Entity Framework นั้นได้ประสิทธิภาพสูงสุด


Future และ Performance ของ Entity Framework ??

Entity Framework ได้พัฒนามาหลาย Version แล้ว ปัจจุบันอยู่ที่เวอร์ชั่น 6.0 และยังมี Tool ร่วมกับการเขียน .Net Application ใหม่ ๆ หลายตัว เช่น MVC ฉะนั้น Entity Framework จะไม่ถูกทอดทิ้งและ มีอนาคตแน่นอน รวมทั้งมีการพัฒนา Feature และความสามารถใหม่ ๆ ออกพร้อม ๆ กับ Version ของ .Net Framework

Performance ของ Entity Framework
ในความคิดเห็นส่วนตัวของการใช้ Entity Framework ช่วยให้การเขียนโปรแกรมนั้นง่ายและรวดเร็วมาก แต่เรื่อง Performance ของ คิดว่าไม่ได้ทำงานเร็วกว่าออกแบบ Class เองซะเท่าไหร่นัก เพราะสุดท้ายแล้ว Entity Framework ยังคงใช้ ADO.Net ในการทำงานเหมือนเดิม แต่มันจะมีประสิทธิภาพที่เหนือกว่าในด้าน สภาพแวดล้อมที่ Entity Framework ได้สร้างขึ้น ลดความซ้ำซ้อน และการทำงานที่ไม่จำเป็น เมื่อโปรแกรมมีขนาดใหญ่และซับซ้อนมากขึ้น โปรแกรมจึงไม่เกิด Process และการทำงาน ที่ไม่จำเป็น เพราะ Entity Framework ได้สร้างมาตรฐานเอาไว้ ในการเขียนที่ค่อนข้างจะเป็นระบบ เช่น Table จะต้องมี Key และการเขียนมีการ Validate ตัว Data Type ให้ถูกต้องก่อนที่จะ Build ผ่านได้ ซึ่งปัจจัยหลัก ๆ นี้ จะลดข้อผิดพลาดในขณะ Run-time ภาพรวมของโปรแกรมจึงสามมารถทำงานได้อย่างมีประสิทธิภาพและรวดเร็วราบรื่น รวมทั้งยังสามารถพัฒนาต่อยอดได้ง่ายด้วย



ข้อเสียของ Entity Framework
เนื่องจาก Entity Framework ต้องใช้รูปแบบ Syntax ของ LINQ ในการเขียนด้วยภาษาVB.Net หรือ C# ซึ่งในกรณีที่ซับซ้อนมาเกินการเขียนบน Syntax LINQ เพื่อให้ Entities ทำงานได้ตรงกับความต้องการนั้นค่อนข้างจะยากพอสมควร ฉะนั้นหลาย ๆ คำสั่งอาจจะต้องอาศัยการสร้างการเขียน Query บน VIEW Table หรือ Stored Procedure เข้ามาทำงานแทน จะทำงานได้รวดเร็วกกว่าการจัดการที่ Entities

ก่อนอื่นต้องเข้าใจก่อนว่า Entity Framework ไม่ได้เป็น Framework ที่ช่วยในการ Design Pattern วางโครงของ Application ทั้งหมด แต่จะเข้ามาจัดการ Layer ที่เป็น Database Model เท่านั้น และสามารถประยุกต์ใช้กับ Database ได้หลาย ๆ ประเภท ไม่ว่าจะเป็น SQL Server , MySQL, MS Access , Oracle และอื่น ๆ ขึ้นอยู่กับ Driver ที่จะเลือกใช้ ฉะนั้นการที่จะให้ Entity Framework ทำงานได้อย่างมีปสิทธิภาพสูงสุด ต้องอาศัยการออกแบบทั้ง Business Logic ทำงานร่วมกับ Model รวมทั้งการเขียน Code จากการวางโครงที่ดี

Table สำหรับการทดสอบ Entity Framework ในบทความ ให้สร้าง Table หรือตารางขึ้นมาตามโครงสร้างนี้ (SQL Server Database)

Table : CUSTOMER
CREATE TABLE [CUSTOMER](
	[CUSTOMER_ID] [varchar](4) NOT NULL,
	[NAME] [varchar](50) NULL,
	[EMAIL] [varchar](50) NULL,
	[COUNTRY_CODE] [varchar](2) NULL,
	[BUDGET] [decimal](18, 2) NULL,
	[USED] [decimal](18, 2) NULL,
 CONSTRAINT [PK_CUSTOMER] PRIMARY KEY CLUSTERED 
(
	[CUSTOMER_ID] ASC
) ) ON [PRIMARY]

INSERT INTO CUSTOMER VALUES ('C001', 'Win Weerachai', '[email protected]', 'TH', 1000000, 600000);
INSERT INTO CUSTOMER VALUES ('C002', 'John  Smith', '[email protected]', 'UK', 2000000, 800000);
INSERT INTO CUSTOMER VALUES ('C003', 'Jame Born', '[email protected]', 'US', 3000000, 600000);
INSERT INTO CUSTOMER VALUES ('C004', 'Chalee Angel', '[email protected]', 'US', 4000000, 100000);

โครงสร้างและข้อมูลของตาราง CUSTOMER

Entity Framework


Table : COUNTRY
CREATE TABLE [COUNTRY](
	[COUNTRY_CODE] [varchar](2) NOT NULL,
	[COUNTRY_NAME] [varchar](100) NULL,
 CONSTRAINT [PK_COUNTRY] PRIMARY KEY CLUSTERED 
(
	[COUNTRY_CODE] ASC
)) ON [PRIMARY]

INSERT INTO COUNTRY VALUES ('TH', 'Thailand  ');
INSERT INTO COUNTRY VALUES ('UK', 'United Kingdom');
INSERT INTO COUNTRY VALUES ('US', 'United States');

โครงสร้างและข้อมูลของตาราง COUNTRY

Entity Framework


Table : AUDIT
CREATE TABLE [dbo].[AUDIT](
	[AUDIT_ID] [int] NOT NULL,
	[CUSTOMER_ID] [varchar](4) NULL,
	[LOG_DATE] [datetime] NULL,
	[USED] [decimal](18, 2) NULL,
 CONSTRAINT [PK_AUDIT] PRIMARY KEY CLUSTERED 
(
	[AUDIT_ID] ASC
)) ON [PRIMARY]

INSERT INTO AUDIT VALUES (1, 'C001', '01-Aug-2015', 100000);
INSERT INTO AUDIT VALUES (2, 'C001', '05-Aug-2015', 200000);
INSERT INTO AUDIT VALUES (3, 'C001', '10-Aug-2015', 300000);
INSERT INTO AUDIT VALUES (4, 'C002', '02-Aug-2015', 400000);
INSERT INTO AUDIT VALUES (5, 'C002', '07-Aug-2015', 100000);
INSERT INTO AUDIT VALUES (6, 'C002', '15-Aug-2015', 300000);
INSERT INTO AUDIT VALUES (7, 'C003', '20-Aug-2015', 400000);
INSERT INTO AUDIT VALUES (8, 'C003', '25-Aug-2015', 200000);
INSERT INTO AUDIT VALUES (9, 'C004', '04-Jul-2015', 100000);

โครงสร้างและข้อมูลของตาราง AUDIT

Entity Framework

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2015-09-28 22:03:13 / 2017-03-24 23:08:16
  Download : No files
 Sponsored Links / Related

 
สร้าง Entity Framework เพื่อติดต่อกับ Database การสร้าง Model Entities บน Visual Studio
Rating :

 
List(T) คืออะไร Generic Class ของ List ใช้งานกับ Entity Framework และ LINQ to Entities
Rating :

 
เรียกใช้งาน Entity Framework การ Select ข้อมูลจาก Entities แสดงผลบน DataSource Control
Rating :

 
Loop and Get Data (LINQ, Entity Framework)
Rating :

 
WHERE Clause (LINQ, Entity Framework)
Rating :

 
Entity & Relation (Foreign Key , CasCade , Delete , Update) (LINQ, Entity Framework)
Rating :

 
WHERE IN / NOT IN (LINQ, Entity Framework)
Rating :

 
WHERE LIKE / NOT LIKE (LINQ, Entity Framework)
Rating :

 
ORDER BY and Sorting Data (ASC, DESC) (LINQ, Entity Framework)
Rating :

 
WHERE BETWEEN (LINQ, Entity Framework)
Rating :

 
Compare DateTime (LINQ, Entity Framework)
Rating :

 
Join Clause (LINQ, Entity Framework)
Rating :

 
Left Join (LINQ, Entity Framework)
Rating :

 
Right Join (LINQ, Entity Framework)
Rating :

 
Union (LINQ, Entity Framework)
Rating :

 
VIEW Table (LINQ, Entity Framework)
Rating :

 
Add Entity : Insert Rows Into Database (LINQ, Entity Framework)
Rating :

 
Update Entity : Update Rows in Database (LINQ, Entity Framework)
Rating :

 
Delete Entity : Delete Rows in Database (LINQ, Entity Framework)
Rating :

 
Entity Framework and Try Catch Exception (LINQ, Entity Framework)
Rating :

 
Entity Framework and Transaction Scope (LINQ, Entity Framework)
Rating :

 
Get Connection String & Connection State (LINQ, Entity Framework)
Rating :

 
Select Entity to List<Object> (LINQ, Entity Framework)
Rating :

 
Entity Execute SQL Query : INSERT/UPDATE/DELETE (LINQ, Entity Framework)
Rating :

 
Entity Select SQL (Statement) Query (LINQ, Entity Framework)
Rating :

 
Entity and Stored Procedure (LINQ, Entity Framework)
Rating :

 
เทคนิคการใช้ IntelliTrace ในการ Debug ตรวจสอบ Performance ของโปรแกรม
Rating :

 
Windows Form ตอนที่ 1 : DataGridView List Show Data (LINQ, Entity Framework)
Rating :

 
Windows Form ตอนที่ 2 : DataGridView Search Data (LINQ, Entity Framework)
Rating :

 
Windows Form ตอนที่ 3 : DataGridView Display Master-Detail (LINQ, Entity Framework)
Rating :

 
Windows Form ตอนที่ 4 : Add Data (LINQ, Entity Framework)
Rating :

 
Windows Form ตอนที่ 5 : Update Data (LINQ, Entity Framework)
Rating :

 
Windows Form ตอนที่ 6 : Delete Data (LINQ, Entity Framework)
Rating :

 
ASP.Net ตอนที่ 1 : GridView List Show Data (LINQ, Entity Framework)
Rating :

 
ASP.Net ตอนที่ 2 : GridView Search Data (LINQ, Entity Framework)
Rating :

 
ASP.Net ตอนที่ 3 : Display Master-Detail (LINQ, Entity Framework)
Rating :

 
ASP.Net ตอนที่ 4 : Add Data (LINQ, Entity Framework)
Rating :

 
ASP.Net ตอนที่ 5 : Update Data (LINQ, Entity Framework)
Rating :

 
ASP.Net ตอนที่ 6 : Delete Data (LINQ, Entity Framework)
Rating :

 
การใช้งาน Entity Framework กับ MySQL Database (LINQ to Entities - MySQL Database)
Rating :

 
การใช้งาน Entity Framework กับ Oracle Database (LINQ to Entities - Oracle Database)
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   







Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่