निर्धारित करने में असमर्थ कारण है, मुझे पता है कि Unable to determine the principal end of an association between the types
त्रुटि के बारे में बहुत सी पोस्ट हैं लेकिन मुझे लगता है कि कोई भी व्यक्ति मेरी समस्या से मेल नहीं खाता है, अगर मैं इसके बारे में एक खेद है।मॉडल के लिए दूसरा आत्म रेफरेंसिंग एफके जोड़ने में असमर्थ, कारण अंतिम अंत त्रुटि
मैंने एक ऐसी संस्था बनाई है जो इसे स्वयं के संदर्भ में दो बार संदर्भित करेगी और जब मैं कोड को पहले आत्म संदर्भ के लिए डालता हूं तो यह ठीक काम करता है, जैसे ही दूसरे कोड को तोड़ता है। कुछ परीक्षण करने से मुझे पता चला है कि यदि मैं उनके द्वारा स्वयं के संदर्भों में से किसी एक का उपयोग करता हूं तो स्वयं सब कुछ ठीक काम करता है, यह केवल तब होता है जब मैं दूसरा आत्म संदर्भ जोड़ता हूं जो टूट जाता है। कोड आत्म संदर्भ के लिए मैं उपयोग कर रहा हूँ है:
[ForeignKey("ManagerID")]
public User Manager { get; set; }
//Auditing Fields
public DateTime DateCreated { get; set; }
public int? UpdatedByUserID { get; set; }
public DateTime? DateUpdated { get; set; }
public DateTime LastAutoUpdate { get; set; }
[ForeignKey("UpdatedByUserID")]
public User UpdatedByUser { get; set; }
पूर्ण इकाई कोड खंड है:
public class User
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public int ADPFileNumber { get; set; }
[Required]
public string ADUserName { get; set; }
public int AirCardCheckInLateCount { get; set; }
[Required]
public string Email { get; set; }
public DateTime? EndDate { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public int ManagerID { get; set; }
public string MobilePhone { get; set; }
[Required]
public string Office { get; set; }
[Required]
public string Phone { get; set; }
public decimal PTO { get; set; }
public DateTime StartDate { get; set; }
public int VehicleCheckInLateCount { get; set; }
public int WexCardDriverID { get; set; }
[ForeignKey("ManagerID")]
public User Manager { get; set; }
//Auditing Fields
public DateTime DateCreated { get; set; }
public int? UpdatedByUserID { get; set; }
public DateTime? DateUpdated { get; set; }
public DateTime LastAutoUpdate { get; set; }
[ForeignKey("UpdatedByUserID")]
public User UpdatedByUser { get; set; }
}
मैं क्या याद आ रही है, जिनके कारण दूसरे आत्म संदर्भ तोड़ने के लिए?
के लिए नहीं, ऐसा लगता है कि नामुमकिन प्रकार पर काम किया गया है और अच्छी पकड़ है, मेरे हिस्से पर एक प्रकार का ओ था। प्रश्न हालांकि, क्या यह करने का यही एकमात्र तरीका है? मैं कक्षा में पूरी इकाई परिभाषा के बजाय और विभाजित नहीं होगा। – Matthew
आप * लुई द्वारा प्रस्तावित दो व्यस्त संग्रह गुणों का उपयोग कर सकते हैं (लेकिन '[इनवर्क्सप्रोपर्टी]' विशेषता का भी उपयोग कर सकते हैं)। इनके बिना (जो आप पसंद करते हैं), एकमात्र तरीका धाराप्रवाह मैपिंग का उपयोग करना है। –