ऐसा लगता है कि ForeignKey
विशेषता मेरे लिए काम नहीं कर रहा है मुझे लगता है, लेकिन मुझे लगता है मैं गलत उपयोग कर रहा हूँ लगता है;)इकाई की रूपरेखा कोड पहले विदेशी कुंजी मुद्दे
यह कोड के साथ व्याख्या करने के लिए आसान है:
public class BaseCard
{
public int Id {get ; set; }
public int BaseCardId { get; set; }
public List<Skill> Skills { get; set; }
}
public class Skill
{
public int Id { get; set; }
public int BaseCardId { get; set; }
[ForeignKey("BaseCardId")]
public BaseCard BaseCard { get; set; }
}
जब मैं बीज विधि के साथ इन वस्तुओं को भरने के लिए प्रयास करते हैं, मैं इस त्रुटि हो रही है:
INSERT statement conflicted with the FOREIGN KEY constraint "FK_dbo.Skills_dbo.BaseCards_BaseCardId". The conflict occurred in database "Database", table "dbo.BaseCards", column 'Id'.
यह मेरे लिएमें ForeignKey
की तरह लगता है 10 की कोशिश करता BaseCardId
स्तंभ के बजाय BaseCards
की Id
स्तंभ पर बात करने के लिए, और मैं समझ नहीं क्यों ..
अगर मैं "सामान्य" Id
BaseCard
की संपत्ति हटाने, और के रूप में BaseCardId
सेट करने का प्रयास पी, मैं निम्नलिखित त्रुटि मिलती है (विशेषता [Key]
के साथ): के बजाय
Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
किसी को भी पता है कि कैसे मैं काम करने के लिए तो संपत्ति BaseCardId
Skill
वर्ग से BaseCard
की BaseCardId
संपत्ति को इंगित करेंगे इस कोड को प्राप्त कर सकते हैं स्पष्ट रूप से Id
संपत्ति?
अग्रिम धन्यवाद!
में कुछ उपयोगी कॉसीडरेशन देख सकते हैं क्यों आपके बेसकार्ड ऑब्जेक्ट में आईडी और बेसकार्ड आईडी फ़ील्ड हैं? – Sefa
@vgSefa मैंने बेसकार्ड आईडी को एक निश्चित संख्या में सेट किया है। और आईडी, मैंने सोचा, स्वचालित रूप से जेनरेट किया गया था। लेकिन इसे एक विशिष्ट संख्या होने की जरूरत है। क्या आईडी को एक विशिष्ट संख्या में सेट करना संभव है? – Rob
@vgSefa मैंने बेसकार्ड आईडी के बजाय आईडी को सेट करने की कोशिश की जो मुझे चाहिए, दुर्भाग्यवश यह काम नहीं करता .. – Rob