เชื่อมต่อกับเซิร์ฟเวอร์ SQL โดยใช้ Linq, asp.net

ฉันกำลังสร้างเว็บไซต์โดยใช้ asp.net และฉันจำเป็นต้องใช้เซิร์ฟเวอร์ SQL ในเครื่อง (โดยใช้เซิร์ฟเวอร์ Microsoft SQL) และฉันได้สร้างฐานข้อมูลและตารางในนั้นโดยใช้ MS SQL Server Management Studio

ตอนนี้ฉันเชื่อมต่อกับฐานข้อมูลได้สำเร็จแล้ว และทำการเพิ่ม/สืบค้นแบบง่ายๆ โดยใช้คำสั่งต่อไปนี้:

string connectionString = "data source=ABCD\\SQLEXPRESS;initial catalog=PMD;Trusted_Connection=yes;";

string sqlQuery = "INSERT INTO PMD (username, userID, userAddress)";
sqlQuery +=               " VALUES (@user,    id,     add)";
SqlConnection dataConnection = new SqlConnection(connectionString);
SqlCommand dataCommand = new SqlCommand(sqlQuery, dataConnection);

dataCommand.Parameters.AddWithValue("user", USER.Value);
dataCommand.Parameters.AddWithValue("id", ID.Value);
dataCommand.Parameters.AddWithValue("add", ADDRESS.Text);

dataConnection.Open();
dataCommand.ExecuteNonQuery();
dataConnection.Close();

คำสั่งด้านบนสามารถเพิ่มหนึ่งคอลัมน์ลงในตารางโดยมีค่าระบุไว้ แบบสอบถามเสร็จสิ้นในลักษณะเดียวกัน เมื่อเปรียบเทียบกับ Linq สิ่งนี้ไม่กระชับมากนัก

ดังนั้นฉันจึงสงสัยว่าฉันจะเปลี่ยนรหัสได้อย่างไรจึงจะสามารถใช้ Linq ได้

คำถามที่ใหญ่ที่สุดสำหรับฉันตอนนี้คือวิธีเชื่อมต่อกับฐาน ฉันรู้ไวยากรณ์ทั้งหมดของ Linq แล้ว

eg: var query=from c in db.username where c.Contain(“Micheal”) select c (or maybe db.PMD.username)

ฉันจะรับ db เพื่อเชื่อมโยงกับ ABCD / SQLEXPRESS, ตาราง PMD ได้อย่างไร


person user1739292    schedule 16.10.2012    source แหล่งที่มา
comment
คุณใช้เอนทิตีเฟรมเวิร์กหรือ linq ถึง sql หรือไม่?   -  person Daniel A. White    schedule 16.10.2012
comment
@Daniel ฉัน dont know what Im ใช้ตอนนี้ ฉันค้นหาวิธีเชื่อมต่อกับ sql, asp.net และค้นหาโค้ดและมันก็ใช้งานได้ ตอนนี้ฉันต้องการเปลี่ยนเพื่อให้สามารถใช้ linq เป็น sql ได้   -  person user1739292    schedule 16.10.2012
comment
@ DanielA.White OP ไม่ได้ใช้ทั้งคู่ รหัสข้างต้นเป็น ADO.NET พื้นฐาน   -  person Dennis Traub    schedule 16.10.2012


คำตอบ (2)


ก่อนอื่น คุณต้องมี Object/Relational Mapper (O/RM) คุณไม่สามารถวาง LINQ ไว้บนโค้ด ADO.NET เก่าของคุณได้

Microsoft มีสอง: Linq2SQL และ Entity Framework

Linq2SQL ถูกยกเลิกแล้ว หากฉันต้องเลือกระหว่างสองสิ่งนี้ ฉันจะเลือก Entity Framework

คุณสามารถดูคำแนะนำได้ที่นี่: http://www.asp.net/entity-framework

person Dennis Traub    schedule 16.10.2012
comment
สวัสดีเดนนิส ขอบคุณสำหรับคำตอบ ดังนั้นฉันจึงไม่สามารถเพิ่มโค้ดลงไปและใช้ Linq กับ SQL ได้ใช่ไหม - person user1739292; 16.10.2012
comment
ไม่คุณไม่สามารถ คุณต้องมีผู้ให้บริการ LINQ ที่แปลคำค้นหา LINQ เป็น SQL นี่คือที่มาของ Entity Framework - person Dennis Traub; 16.10.2012
comment
@ user1739292 การตั้งค่าบริบท Entity Framework จากฐานข้อมูลใช้เวลาทั้งหมด 5 นาที ดังนั้นอย่าคิดว่ามันจะใช้เวลาตลอดไป มันค่อนข้างรวดเร็ว - person Gromer; 16.10.2012
comment
ขอบคุณสำหรับคำตอบข้างต้น ฉันใช้ Webmatrix เพื่อพัฒนาเว็บไซต์ ไม่ใช่ VS มันเป็นกระบวนการเดียวกันเหรอ? - person user1739292; 16.10.2012
comment
ดูคำตอบแรกของคำถามนี้: stackoverflow.com/questions/10626492/ - person Dennis Traub; 16.10.2012
comment
@DennisTraub ขอบคุณ ฉันรู้สึกว่ามันจะมีประโยชน์มาก แต่คะแนนไม่พอต้องขออภัยด้วย 555 - person user1739292; 16.10.2012
comment
@ user1739292 คุณสามารถยอมรับคำตอบได้โดยใช้เครื่องหมายถูก และยินดีต้อนรับสู่ stackoverflow - person Dennis Traub; 16.10.2012

ตัวอย่างเช่น ติดตั้ง Entity Framework จากนั้นจึงติดตั้ง เชื่อมต่อกับเซิร์ฟเวอร์ sql ด้วยเฟรมเวิร์กเอนทิตี

person Gábor Plesz    schedule 16.10.2012