क्या माता-पिता कुंजी और भेदभावकर्ता मूल्य का उपयोग करके एक से एक रिश्ते को मानचित्र बनाना संभव है? मुझे पता है कि कोड को पहले कंक्रीट क्लास पर भेदभाव करने वाली संपत्ति पसंद नहीं है और इसे केवल मैप विधि में संदर्भित करना है।विरासत भेदभावकर्ता को एंटिटी फ्रेमवर्क में समग्र कुंजी के रूप में कैसे चिह्नित करें?
FlightTypes { Inbound = 1, Outbound = 2}
public class Transaction
- int TransactionId
- int? InboundFlightId
- InboundTransactionFlight InboundFlight
- int? OutboundFlightId
- OutboundTransactionFlight OutboundFlight
public abstract class TransactionFlight
- TransactionFlightId
public class InboundTransactionFlight : Flight
- List<Transaction> InboundFor
public class OutboundTransactionFlight : Flight
- List<Transaction> OutboundFor
Entity<InboundTransactionFlight>().Map(m => m.Requires("FlightTypeId").HasValue(1));
Entity<OutboundTransactionFlight>().Map(m => m.Requires("FlightTypeId").HasValue(2));
/वर्तमान में क्या उत्पन्न होता है * इस है */
CREATE TABLE Transactions (
TransactionId int NOT NULL,
InboundFlightId int NULL,
OutboundFlightId int NULL
)
CREATE TABLE TransactionFlights (
TransactionFlightId int NOT NULL,
FlightTypeId int NOT NULL,
...
CONSTRAINT PK_TransactionFlights PRIMARY KEY CLUSTERED (TransactionFlightId)
)
/* यह उत्पन्न करने के लिए संभव है/इस नक्शा और विरासत रहते हैं? */
CREATE TABLE Transactions (
TransactionId int NOT NULL,
)
CREATE TABLE TransactionFlights (
TransactionId int NOT NULL,
FlightTypeId int NOT NULL,
...
CONSTRAINT PK_TransactionFlights PRIMARY KEY CLUSTERED (TransactionId, FlightTypeId)
)
धन्यवाद।
यह एक बहुत अच्छा मुद्दा Ladislav है और निश्चित रूप से मेरे लिए सवाल का जवाब है। ईएफ ने निश्चित रूप से मेरी डेटाबेस डिजाइन आदतों को चुनौती दी है। बेहतर के लिए मुझे विश्वास है। –
हालांकि वे केवल पढ़ने की अनुमति दे सकते थे .... – VdesmedT