Saya telah membuat contoh topik akses data di repositori ini. Saya memiliki contoh dan proyek tentang topik seperti kerangka entitas, data pertama, kode pertama, Orm, pembuatan basis data.
Ini adalah alat yang bertindak sebagai jembatan antara database relasional dan pemrograman berorientasi objek (OOP). Jembatan ini adalah struktur tempat kita menggunakan model objek untuk mengelola informasi dalam database relasional. Singkatnya, ini adalah kerangka kerja yang dikembangkan oleh Microsoft yang menghubungkan objek kita ke database dan bertukar data untuk kita.
Dengan menggunakan kueri LINQ (Kueri Terintegrasi Bahasa) dengan kerangka Entitas, kami memiliki kueri yang kuat pada objek. Layanan yang disediakan oleh kerangka Entitas terutama adalah pelacakan perubahan, resolusi identitas, dan terjemahan kueri. Tujuan utama kerangka Entitas adalah untuk memungkinkan pengembang aplikasi fokus pada sisi aplikasi tanpa terlalu sibuk dengan operasi data. Sebagai contoh yang sangat sederhana, kami para pengembang bertanggung jawab penuh untuk membuka dan menutup koneksi dalam aplikasi ADO.NET klasik. Namun, ketika Anda menggunakan kerangka entitas, Anda tidak mengganggu operasi tersebut. Anda mempersiapkan kueri Anda dan mengirimkannya ke database melalui kerangka entitas.
Entity Framework menggunakan 3 metode pengembangan proyek berbeda untuk ini.
Model First = Metode ini memungkinkan untuk mendesain database pada model ini dengan menambahkan file model kosong (.edmx) pada Visual Studio. File skrip yang diberikan pada langkah kompilasi membuat database.
Database First = Dalam arah ini, kelas-kelas yang diperlukan dibuat oleh Entity Framework dengan menghubungkan database yang dibuat sebelumnya ke proyek sebagai model.
Di folder ini, saya tunjukkan contoh database saya terlebih dahulu. Halaman GitHub.
Kode Pertama = Metode ini adalah metode yang kita lakukan dengan mulai membuat kelas kita di lingkungan visual studio. Basis data kami berasal dari kelas-kelas ini. Di sini, operasi Pemetaan dapat dilakukan oleh pengembang berkat Atribut saat membuat kelas. Omong-omong, proses Pemetaan adalah peristiwa di mana kita mendefinisikan batasan dalam tabel kita. Selain atribut, kita dapat melakukan operasi ini dengan cara berbeda. Misalnya, alat seperti Fluent Api atau Fluent Validation populer digunakan untuk operasi Pemetaan.
Dengan menggunakan pustaka Entity Framework, kita dapat memfilter data dengan membuat kueri pada tabel di database kita. Hampir semua pertanyaan yang dapat Anda lakukan di T-SQL dapat dilakukan dengan Entity Framework.
Di sini saya telah menunjukkan operasi pemilihan dasar. Halaman GitHub.
Anda juga dapat menggunakan fungsi terintegrasi kueri dan pelaporan T-SQL dengan pustaka Entity Framework.
Di sini saya menunjukkan fungsi agregat dasar kami. Halaman GitHub.
Dalam struktur Code First, struktur "kelas" dalam bahasa pemrograman sesuai dengan struktur "tabel" di database, dan struktur "properti" sesuai dengan struktur "kolom" di database. Selain itu, berkat Atribut, Validasi dapat diterapkan pada struktur database dan kondisi atau batasan tertentu dapat ditempatkan pada kolom. Yang terpenting, ini memungkinkan Anda merasakan kontrol otomatis model dalam proyek Anda dan menggunakannya sesuai keinginan dengan kontrol penuh.
Anda dapat melihat contoh saya tentang subjek ini di sini. Halaman GitHub.
Saya telah membuat database vir yang dapat Anda gunakan di sini.
Anda dapat memeriksanya di sini. Halaman GitHub.
Ini adalah struktur yang membuat proyek Arsitektur Berlapis kami lebih terorganisir, meningkatkan keterbacaan kode, meningkatkan kerja tim, dan mempermudah manajemen kesalahan. Faktanya, dengan struktur ini, kami telah menjadikan penulisan proyek sebagai standar. Karena struktur ini terdiri dari 3 lapisan utama, maka saat ini dapat disebut struktur Arsitektur Multi-Lapisan. Namun sebenarnya bertumpu pada 3 lapisan utama. Lapisan-lapisan tersebut adalah;
-- Lapisan Data -- Lapisan Bisnis -- Lapisan Presentasi
Di sini saya membuat entitas saya sesuai dengan database saya. Halaman GitHub.
Di sini saya membuat lapisan infrastruktur saya. Halaman GitHub.
Saya membuat UI saya di sini. Halaman GitHub.
Dapper adalah alat mikro ORM yang dikembangkan oleh Stackoverflow yang mendukung banyak database. Karena alat orm melakukan banyak hal sendiri, hal ini menyebabkan alat tersebut berjalan agak lambat. Hal ini tidak disukai terutama di pelabuhan dengan lalu lintas padat. Dapper mungkin lebih disukai dalam kasus seperti itu. Ini adalah satu "dll". Jadi apa yang dimaksud dengan antarmuka untuk pemetaan? Itu juga tidak memerlukan file konfigurasi apa pun. Singkatnya, ini sederhana dan cepat. Dirilis sebagai open source di Github dan terus dikembangkan.
--Fitur terpenting Dapper adalah performanya yang sangat bagus. Seringkali, ini lebih disukai karena keuntungan ini.
--Anda dapat dengan mudah menjalankan kueri Anda dan mengikat hasil yang dikembalikan ke objek dengan mudah.
--Kerugian yang paling penting adalah karena kueri ditulis secara inline, maka kueri tersebut cukup rentan terhadap kesalahan. Hal ini patut menjadi perhatian. Lebih buruk lagi, kesalahan ini terjadi pada saat run-time, bukan pada waktu build.
--Di Dapper, kami melakukan sebagian besar hal. Pengembang harus mengerjakan database, kueri kami, aset kami di sisi program, dan status objek. Hal ini sangat meningkatkan biaya pengembangan dan pemeliharaan selama tahap pengembangan proyek besar.
Saya mencoba menggunakan 2 metode di repositori ini. Saya bekerja dengan prosedur saya di Sql dalam satu repositori, dan di repositori saya yang lain dengan menulis pertanyaan saya langsung pada program tersebut.
-- Pertama saya membuat database dalam SQL.
-- Setelah itu, saya membuat prosedur saya sesuai dengan metode yang akan saya gunakan dalam program saya. Anda dapat melihat dari sini. Halaman GitHub
--Dalam program saya, saya juga membuat lapisan dan aset, repositori yang akan saya gunakan dengan prosedur saya. Yang penting di sini adalah memberikan prosedur dan parameter yang akan saya gunakan dengan benar. Jika tidak, kita akan mendapatkan banyak kesalahan. Anda dapat melihat dari sini. Halaman GitHub
-- Saya membuat koneksi dengan database dengan "koneksi". Anda dapat melihat dari sini. Halaman GitHub
-- Saya membuat antarmuka pengguna terbaru dan melakukan tindakan yang saya inginkan. Anda dapat melihat dari sini. Halaman GitHub
Di sini, saya menulis pertanyaan saya yang akan menjalankan operasi yang saya inginkan langsung di Sql. Sangatlah penting untuk berhati-hati saat menulis pertanyaan di sini. Sebuah kesalahan dapat membuang banyak waktu. Adapun parameternya, dan nilai pencocokan parameter dalam query harus benar. Namun bagi saya, Pengecualian cukup jelas di Dapper. Sangat membantu untuk menemukan kesalahan dengan mudah.
Anda dapat melihat dari sini. Halaman GitHub
Di sini, saya telah menunjukkan tindakan saya di antarmuka pengguna.
Anda dapat melihat dari sini. Halaman GitHub