Hubungkan ke server SQL menggunakan Linq, asp.net

Saya membuat situs web menggunakan asp.net, dan saya perlu menggunakan server SQL lokal (menggunakan server Microsoft SQL). Dan saya telah membuat database dan tabel di dalamnya menggunakan MS SQL Server Management Studio.

Sekarang saya berhasil terhubung ke database dan melakukan beberapa penambahan/kueri sederhana menggunakan perintah berikut:

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();

Perintah di atas dapat menambahkan satu kolom ke tabel, dengan nilai yang dinyatakan. Kueri dilakukan dengan cara serupa. Dibandingkan dengan Linq, ini tidak terlalu ringkas.

Jadi saya bertanya-tanya bagaimana cara mengubah kode sehingga saya bisa menggunakan Linq.

Pertanyaan terbesar bagi saya sekarang adalah bagaimana menghubungkan ke pangkalan. Saya sudah tahu semua sintaks Linq.

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

Bagaimana saya bisa membuat db terhubung dengan ABCD/SQLEXPRESS, tabel PMD?


person user1739292    schedule 16.10.2012    source sumber
comment
apakah Anda menggunakan kerangka entitas atau linq ke sql?   -  person Daniel A. White    schedule 16.10.2012
comment
@Daniel Saya tidakt know what Im menggunakan sekarang. Saya mencari cara terhubung ke sql, asp.net dan menemukan kodenya dan berhasil. Sekarang saya ingin mengubahnya sehingga saya bisa menggunakan linq ke sql.   -  person user1739292    schedule 16.10.2012
comment
@ DanielA.White OP tidak menggunakan keduanya. Kode di atas adalah dasar ADO.NET.   -  person Dennis Traub    schedule 16.10.2012


Jawaban (2)


Pertama, Anda memerlukan Pemeta Objek/Relasional (O/RM). Anda tidak bisa begitu saja meletakkan LINQ di atas kode ADO.NET lama Anda.

Microsoft menyediakan dua: Linq2SQL dan Entity Framework.

Linq2SQL telah dihentikan. Jika saya harus memilih di antara keduanya, saya akan memilih Entity Framework.

Di sini Anda dapat menemukan pengantar: http://www.asp.net/entity-framework

person Dennis Traub    schedule 16.10.2012
comment
Hai Dennis, Terima kasih atas balasannya. Jadi saya tidak bisa menambahkan beberapa kode ke dalamnya dan menggunakan Linq ke SQL? - person user1739292; 16.10.2012
comment
Tidak, kamu tidak bisa. Anda memerlukan penyedia LINQ yang menerjemahkan kueri LINQ ke SQL. Di sinilah Entity Framework berperan. - person Dennis Traub; 16.10.2012
comment
@ user1739292, menyiapkan konteks Entity Framework dari database hanya membutuhkan waktu 5 menit, jadi jangan berpikir itu akan memakan waktu lama. Ini cukup cepat. - person Gromer; 16.10.2012
comment
terima kasih atas jawaban di atas. Saya menggunakan Webmatrix untuk mengembangkan situs web, bukan VS. jadi prosesnya sama? - person user1739292; 16.10.2012
comment
Lihatlah jawaban pertama untuk pertanyaan ini: stackoverflow.com/questions/10626492/ - person Dennis Traub; 16.10.2012
comment
@DennisTraub Terima kasih, menurut saya ini akan sangat berguna. Tapi aku tidak punya cukup poin, maaf soal itu, haha. - person user1739292; 16.10.2012
comment
@ user1739292 Anda dapat menerima jawabannya dengan menggunakan tanda centang. Dan selamat datang di stackoverflow. - person Dennis Traub; 16.10.2012

Misalnya, instal Entity Framework, lalu terhubung ke server sql dengan kerangka entitas

person Gábor Plesz    schedule 16.10.2012