Inti Kerangka Entitas

Hai teman. Pada hari yang indah di bulan Mei ini, kami terus bekerja dan hari ini kami ingin berbicara tentang fakta bahwa pada bulan Mei OTUS meluncurkan kursus β€œC # Developer” yang disukai semua orang , serta kursus C # ASP yang terpisah . Core NET . Secara tradisional, pada awal dimulainya kursus, kami mulai menerbitkan materi yang bermanfaat. Pergilah.




pengantar


Sebagian besar aplikasi Core NET ASP modern menggunakan Entity Framework Core. Entity Framework Core adalah teknologi untuk mengakses database dari Microsoft. Ini memungkinkan Anda untuk berinteraksi dengan DBMS menggunakan entitas, yaitu kelas dan objek NET, daripada tabel database. Ini adalah alat ORM paling terkenal dan fungsional di C #. ORM adalah pemetaan objek-relasional - memetakan data ke objek nyata.

Sebagai contoh, jika seorang pengembang bekerja secara langsung dengan database, seorang programmer harus berpikir tentang menghubungkan, menyiapkan parameter SQL dan SQL, cara mengirim pertanyaan dan transaksi. Dan dengan bantuan Entity Framework Core, semua ini dilakukan secara otomatis - pengembang bekerja langsung dengan kelas NET.

Pendekatan ORM


ORM memiliki beberapa pendekatan.

Yang pertama adalah Code First. Ini menyiratkan bahwa kode C # ditulis terlebih dahulu, dan kemudian database dibuat menggunakan kode ini. Untuk pendekatan ini, sangat penting untuk mendefinisikan kelas model atau entitas yang akan disimpan dalam database, menggambarkannya dalam kelas C # sebagai model, dan menulis kelas konteks yang akan bekerja dengan database yang digunakan. Pendekatan Code First paling sering digunakan oleh programmer C #.

Pendekatan kedua- Database-First- cocok untuk mereka yang tahu SQL dengan baik, tetapi dalam hal ini tidak perlu tahu C # dengan baik. Basis data dibuat terlebih dahulu, kemudian model basis data EDMX dihasilkan. XML dalam file .edmx ini berisi informasi tentang struktur database, model data, dan pemetaannya satu sama lain. Visual Studio memiliki desainer grafis yang dengannya Anda dapat bekerja dengan .edmx

Model-First - ini adalah pendekatan ORM ketiga . Ini sering digunakan oleh arsitek, karena dengan pendekatan ini Anda tidak dapat mengetahui sintaks SQL atau C #. Dalam hal ini, model grafis EDMX dibuat terlebih dahulu, saat ini kelas model C # dibuat di latar belakang, dan kemudian basis data dihasilkan berdasarkan diagram EDMX.

Model Inti Kerangka Entitas


Semua tabel database didefinisikan dalam Kerangka Entitas sebagai kelas model atau entitas, sebagai aturan, sesuai dengan prinsip 1 tabel, misalnya pengguna, - 1 kelas dalam NET, misalnya, Pengguna. Pasangan tersebut disebut konvensi, dan mereka didefinisikan dalam kelas konteks data sebagai set DbSet dan pendekatan ini berfungsi secara default.

Meskipun ada mekanisme seperti Fluent API dan anotasi data, dimungkinkan untuk mengabaikan konvensi ini atau aturan konfigurasi tambahan.

Migrasi


Selama proses pengembangan, sangat mungkin kelas model Entity Framework telah berubah, dan Anda harus menghapus database untuk menjaga kepatuhan model. Tetapi ketika Anda menghapus database, semua data darinya juga dihapus.

Untuk menyimpan data saat model berubah, ada fungsi migrasi di Entity Framework Core. Ini memungkinkan Anda untuk secara konsisten menerapkan perubahan skema ke database untuk menyinkronkannya dengan model data.

Dalam migrasi, ada operasi yang memungkinkan Anda untuk menghapus, menambah kolom dan tabel, kunci asing, mengubah pengaturan kolom, menambah, menghapus dan mengubah data, dan sebagainya. Saat Anda membuat migrasi, kelas secara otomatis dibuat di mana operasi yang diperlukan untuk menerapkan migrasi Up () dan mengembalikannya ke metode Down () dilakukan.

LINQ


LINQ terkait dengan Entity Framework dalam NET. LINQ adalah Kueri Terintegrasi Bahasa atau Kueri Intralingual - ini adalah teknologi yang merupakan serangkaian fungsi dalam NET yang memungkinkan Anda untuk menulis kueri basis data terstruktur.

Untuk bekerja dengan Entity Framework Core menggunakan teknologi LINQ to Entities. LINQ menggunakan ekspresi C # seperti SQL untuk mengambil data dari database. Setiap basis data relasional bekerja melalui kueri SQL, dan Core Framework Entity menerjemahkan ekspresi LINQ ke Entitas ke dalam kueri SQL yang dapat dimengerti untuk database yang digunakan.

Kesimpulan


Dengan demikian, kami secara singkat membahas kemampuan Core Entity Framework. Seperti yang Anda lihat, itu benar-benar sangat kuat, dan sangat banyak sehingga programmer yang bekerja dengannya bahkan tidak perlu tahu SQL. Dan Entity Framework Core berhak menempati posisi pertama di antara ORM di dunia NET.







All Articles