GlobalRepository adalah repositori "generik" yang menggantikan semua repositori di proyek Anda, dengan cara ini Anda hanya perlu menggunakan satu repositori unik yang berarti memelihara satu repositori. Dengan GlobalRepository Anda tidak perlu membuat repositori baru untuk setiap Model dan menentukan metode! cukup tambahkan dan gunakan.
Harap dicatat:
Saya menyebutnya repositori GLOBAL bukan GENERIC karena tujuannya adalah menggunakan satu repositori untuk semua model, yang berarti : sebut saja GLOBAL di proyek Anda, dalam hal ini Anda akan menghindari banyak kode (tentu saja Anda bebas mengubahnya dan mengimplementasikannya itu seperti repositori GENERIC normal)
Metode ini mengembalikan IQueryable yang memberikan fleksibilitas paling besar dan memungkinkan kueri yang efisien dibandingkan dengan pemfilteran dalam memori, dll, dan dapat mengurangi kebutuhan untuk membuat banyak metode pengambilan data tertentu. Di sisi lain, sekarang Anda telah memberikan senapan kepada pengguna Anda. Mereka dapat melakukan hal-hal yang mungkin tidak Anda inginkan (menggunakan .include() secara berlebihan, melakukan kueri yang berat dan melakukan pemfilteran dalam memori dalam implementasinya masing-masing, dll), yang pada dasarnya akan mengesampingkan kontrol pelapisan dan perilaku karena Anda telah memberikan akses penuh. Jadi harap sebelum digunakan, pertimbangkan tim, pengalaman mereka, ukuran aplikasi, keseluruhan lapisan dan arsitektur...
Repositori ini juga berisi: SmartDeletersService yang memeriksa database setiap kali suatu entitas digunakan oleh entitas lain, metode akan mengembalikan True jika mereka menemukannya, jika tidak maka akan mengembalikan False.
GlobalRepository dapat digunakan di mana saja, cukup unduh filenya, tambahkan ke proyek Anda dan selamat menggunakannya :D
harap diingat:
PS: agar berfungsi dengan benar, Model Anda harus memperluas BaseEntity, saya menambahkan file sehingga Anda dapat melihat seperti apa BaseEntity (untuk pemula)
Jika Anda membutuhkan sesuatu silahkan menghubungi saya di: [email protected]