GlobalRepository เป็นพื้นที่เก็บข้อมูล "ทั่วไป" ที่แทนที่พื้นที่เก็บข้อมูลทั้งหมดในโปรเจ็กต์ของคุณ ด้วยวิธีนี้ คุณเพียงแค่ต้องใช้พื้นที่เก็บข้อมูลเดียวที่ไม่ซ้ำกัน ซึ่งหมายถึงการรักษาพื้นที่เก็บข้อมูลเดียว ด้วย GlobalRepository คุณไม่จำเป็นต้องสร้างพื้นที่เก็บข้อมูลใหม่สำหรับแต่ละ Model และกำหนดวิธีการ! เพียงเพิ่มและใช้มัน
โปรดทราบ:
ฉันเรียกมันว่า GLOBAL repository ไม่ใช่ GENERIC เพราะวัตถุประสงค์คือการใช้ที่เก็บข้อมูลเดียวสำหรับทุกรุ่น ซึ่งหมายความว่า: เรียกมันว่า GLOBALLY ในโปรเจ็กต์ของคุณ ในกรณีนี้ คุณจะหลีกเลี่ยงโค้ดจำนวนมาก (แน่นอน คุณสามารถเปลี่ยนแปลงและนำไปใช้ได้อย่างอิสระ มันเหมือนกับที่เก็บ GENERIC ปกติ)
วิธีการส่งคืน IQueryable ซึ่งให้ความยืดหยุ่นสูงสุดและช่วยให้การสืบค้นมีประสิทธิภาพ ตรงข้ามกับการกรองในหน่วยความจำ ฯลฯ และอาจลดความจำเป็นในการสร้างวิธีการดึงข้อมูลเฉพาะจำนวนมาก ในทางกลับกัน ตอนนี้คุณได้ให้ปืนลูกซองแก่ผู้ใช้แล้ว พวกเขาสามารถทำสิ่งที่คุณอาจไม่ได้ตั้งใจ (ใช้ .include( มากเกินไป), ทำการสืบค้นจำนวนมากและทำการกรองในหน่วยความจำในการใช้งานตามลำดับ ฯลฯ ) ซึ่งโดยพื้นฐานแล้วจะเป็นการก้าวข้ามการควบคุมเลเยอร์และพฤติกรรมเนื่องจากคุณได้ให้ การเข้าถึงแบบเต็ม ดังนั้นก่อนใช้งาน โปรดคำนึงถึงทีม ประสบการณ์ ขนาดของแอป เลเยอร์โดยรวม และสถาปัตยกรรม...
พื้นที่เก็บข้อมูลนี้ยังมี: SmartDeletersService ซึ่งตรวจสอบในฐานข้อมูลเมื่อใดก็ตามที่เอนทิตีถูกใช้โดยเอนทิตีอื่น วิธีการส่งคืน True หากพวกเขาพบว่า มิฉะนั้นจะส่งคืน False
GlobalRepository ทำงานได้ทุกที่ เพียงดาวน์โหลดไฟล์ เพิ่มลงในโปรเจ็กต์ของคุณ และใช้งานอย่างมีความสุข :D
โปรดจำไว้ว่า:
PS: เพื่อให้ทำงานได้อย่างถูกต้อง โมเดลของคุณต้องขยาย BaseEntity ฉันเพิ่มไฟล์เพื่อให้คุณเห็นว่า BaseEntity มีลักษณะอย่างไร (สำหรับมือใหม่)
หากคุณต้องการอะไรโปรดติดต่อฉันได้ที่: [email protected]