Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 17061|Jawab: 0

[ASP.NET] Berdasarkan. Pengembangan arsitektur tiga lapis .LINQ ke SQL

[Salin tautan]
Diposting pada 08/05/2015 15.47.22 | | | |

Omong kosong tertulis di depan

Berdasarkan. Arsitektur tiga tingkat .NET dapat dibagi menjadi lapisan berikut: Lapisan Data Linq, lapisan akses data, lapisan logika bisnis, dan lapisan presentasi. Simbol panah pada Gambar 1 di bawah ini menggambarkan interaksi antar lapisan: lapisan akses data mereferensikan lapisan Data LINQ; Lapisan logika bisnis mereferensikan lapisan akses data dan kelas entitas di lapisan Data LINQ. Lapisan presentasi mengacu pada lapisan logika bisnis serta kelas entitas di lapisan Data LINQ.

Lapisan Data LINQ terutama mencakup kelas entitas dan kelas Konteks Data. Biasanya, kelas entitas adalah untuk satu tabel dalam database. Kita dapat membuat instance kelas entitas yang ditransfer antar lapisan yang berbeda sebagai objek data.

        Gambar 1 Arsitektur tiga tingkat LINQ ke SQL

Berikut ini adalah contoh jendela login saat membuat proyek untuk memperkenalkan pengembangan arsitektur tiga tingkat LINQ ke SQL

Persiapan

1. Pertama, Anda memerlukan database dan tabel data untuk menyimpan nama pengguna dan kata sandi orang yang masuk. Di sini, database SQL Server 2005 digunakan. Struktur tabel database ditunjukkan pada Gambar 2.

Gambar 2 Tabel Pengguna Database

2. Buka VS dan buat proyek baru ---> jenis proyek lainnya---> solusi Visual Studio---> solusi kosong. Seperti yang ditunjukkan pada Gambar 3. (Visual Studio 2008 digunakan di sini)


Gambar 3 Membuat solusi kosong

3. Tambahkan pustaka kelas. Klik kanan pada solusi yang baru dibuat di Penjelajah Solusi ---> menambahkan ---> perpustakaan kelas ---> proyek baru. Seperti yang ditunjukkan pada Gambar 4. Metode yang sama memerlukan penambahan tiga pustaka, BLL, DAL, dan DataLinq, dan aplikasi Windows Forms (jika ini adalah pengembangan aplikasi web, pilih ASP.NET Aplikasi Web) dan beri nama UI.


Gambar 4 Menambahkan proyek pustaka

Struktur setelah penambahan ditunjukkan pada Gambar 5. Pada saat yang sama, klik kanan pada UI dan atur UI sebagai item peluncuran.


Gambar 5 Diagram struktur proyek

Tambahkan kutipan

Di Penjelajah Solusi, tambahkan referensi ke setiap tingkatan. Lapisan BLL Pilih Referensi --->klik kanan ---> tambahkan referensi. Seperti yang ditunjukkan pada Gambar 6. Tambahkan referensi ke System.Data.Linq. Pada saat yang sama, sesuai dengan hubungan antara lapisan yang ditunjukkan pada Gambar 1 di atas, tambahkan referensi proyek ke DAL dan DataLinq. Dengan cara yang sama, lapisan DAL menambahkan referensi proyek ke System.Data.Linq dan DataLinq, lapisan DataLinq menambahkan referensi ke System.Data.Linq, dan lapisan UI menambahkan referensi ke System.Data.Linq dan referensi proyek ke BLL dan DataLinq.


Gambar 6 Menambahkan referensi proyek

Sejauh ini, arsitektur tiga tingkat telah ditetapkan. Berikut ini adalah menambahkan kelas yang sesuai ke setiap lapisan.

1. Pertama, lapisan DataLinq. Klik kanan DataLinq---> tambahkan proyek baru --->---> pilih kelas LINQ ke SQL, seperti yang ditunjukkan pada Gambar 7.


Gambar 7 Menambahkan kelas LINQ ke SQL

2. Setelah penambahan selesai, desainer kosong (file .dbml) akan dibuat secara otomatis dengan tautan ke Server Explorer, serta file dbml.layout terkait (file XML) dan file designer.cs. Buka Server Explorer dan buat tautan ke database.


Gambar 8 Buka Server Explorer

3. Hubungkan ke database. Pilih alat ---> tambahkan database. Seperti yang ditunjukkan pada Gambar 9. Pilih database yang baru dibuat dan tentukan database koneksi. Pada titik ini, database akan muncul di Server Explorer.


4. Pilih tabel data Pengguna yang ingin Anda gunakan, seret dan lepas ke desainer, seperti yang ditunjukkan pada Gambar 10 di bawah ini. Simpan file. Sekarang, kelas DataContext dan kelas entitas dengan properti, metode, dan metode terkait telah dibuat secara otomatis.


Gambar 10 Kelas pengguna

Tambahkan lapisan kode

Lapisan DAL

Buat kelas UserDAL baru dan tambahkan kode berikut

//UserDAL.cs

menggunakan DataLinq;
menggunakan System.Data.Linq;

namespace DAL
{
    kelas publik UserDAL
    {
        private DataLinq.DBLinqDataContext objDataContext = dataLinq.DBLinqDataContext();

        Pengguna publik SelectRecordByID(string userid)
        {
            Coba
            {
                return (dari u di objDataContext.User di mana u.Id == userid pilih u). Tunggal();
            }
            tangkap (Pengecualian mis)
            {
                melempar mantan;
            }
        }
    }
}

Lapisan BLL

Buat kelas UserBLL baru dan tambahkan kode berikut

//UserBLL.cs

menggunakan System.Data.Linq;
menggunakan DataLinq;

namespace BLL
{
    kelas publik UserBLL
    {
        DAL pribadi. UserDAL objUserDAL = DAL baru. PenggunaDAL();

        Pengguna publik SelectRecordByID(string userid)
        {
            mengembalikan objUserDAL.SelectRecordByID(userid);
        }
    }
}

Kode lapisan UI

//LoginForm.cs

BLL pribadi. UserBLL objUserBLL = BLL baru. PenggunaBLL();
      
        void pribadi btnSubmit_Click(pengirim objek, EventArgs e)
        {
            string id = txtId.Text.Trim();
            string psd = txtPsd.Text.Trim();

            User localDataTable = objUserBLL.SelectRecordByID(id);

            if (localDataTable != null && localDataTable.Psd == psd)
            {
                MessageBox.Show("Sukses");
            }
            yang lain
            {
                MessageBox.Show("false");
            }
        }

Pada titik ini, kode untuk antarmuka login sudah selesai. Anda dapat menjalankannya untuk melihat efeknya.






Mantan:Jika Anda sudah memiliki DataReader terbuka yang terkait dengan Perintah ini, Anda harus menutupnya terlebih dahulu.
Depan:LINQ mendapatkan masalah nilai pengembalian prosedur tersimpan saya
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com