कुछ परियोजनाओं को EF के साथ शुरू करना, लेकिन मेरे पास तालिकाओं और कुंजियों आदि में शामिल होने के बारे में कुछ प्रश्न थे। चलो कहते हैं कि मेरे पास अनुप्रयोगों की एक तालिका और अनुमतियों की एक तालिका है। एप्लिकेशन की कई अनुमतियां हैं और प्रत्येक अनुमति कई एप्लिकेशन (कई-कई) से संबंधित हो सकती है।
अब, अनुप्रयोग और अनुमति तालिकाएँ आसान हैं:
Applications
--------------
PK ApplicationID
Name
Permissions
--------------
PK PermissionID
Name
लेकिन जॉइन टेबल को करने का सबसे अच्छा तरीका क्या है? मेरे पास ये दो विकल्प हैं:
ApplicationPermissions
-----------------------
PK ApplicationPermissionID
CU ApplicationID
CU PermissionID
या
ApplicationPermissions
-----------------------
CPK ApplicationID
CPK PermissionID
PK = Primary Key
CPK = Composite Primary Key
CU = Composite Unique Index
क्या तुमने कभी इसे एक तरह से दूसरे पर जलाया गया है? क्या यह सख्ती है? यह मेरे साथ हुआ है कि बहुत सारे "मतभेद" मेरे रिपॉजिटरी पैटर्न से दूर हो जाएंगे (उदाहरण के लिए, मैं लगभग पूरी अनुमति ऑब्जेक्ट कभी नहीं बनाऊंगा और इसे किसी एप्लिकेशन में जोड़ दूंगा, लेकिन इसे आईडी या यूनिक नाम से करें या कुछ), लेकिन मुझे लगता है कि मैं डरावनी कहानियों की तलाश कर रहा हूं, एक रास्ता या दूसरा।