प्रकार 'System.StackOverflowException' की एक बिना क्रिया का अपवाद mscorlib.dll
में हुई में हुई सुनिश्चित करें कि आप एक अनंत की जरूरत नहीं है लूप या अनंत रिकर्सन।सी # - इकाई की रूपरेखा - प्रकार 'System.StackOverflowException' की एक बिना क्रिया का अपवाद mscorlib.dllinternal static List<RivWorks.Model.Negotiation.ProductsSold> GetProductsSoldByCompany(Guid CompanyID) { var ret = from a in _dbRiv.ProductsSold where a.Company.CompanyId == CompanyID select a; return ret.ToList(); }
वापसी यह इकाई मॉडल में कॉल करता है और सभी विदेशी keyed वस्तुओं (बच्चे वस्तुओं) को भरने के लिए कोशिश करता है पर:
नीचे कोड इस पद्धति की सफलता पर कहा जाता है। स्कीमा है [1 कंपनी के पास कई उत्पाद हैं 0]। किसी कारण के लिए, निम्न कोड में कॉल सिर्फ खुद पर cascades:
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("RIV_Model", "FK_ProductsSold_Company", "Company")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public Company Company
{
get
{
return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company").Value;
}
set
{
((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company").Value = value;
}
}
/// <summary>
/// There are no comments for Company in the schema.
/// </summary>
[global::System.ComponentModel.BrowsableAttribute(false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityReference<Company> CompanyReference
{
get
{
return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company");
}
set
{
if ((value != null))
{
((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company", value);
}
}
}
आप देख सकते हैं, पहली विधि दूसरी विधि को फोन करेगा। दूसरी विधि अंतहीन रूप से कॉल करने लगती है।
मैं इसे ईएफ में कैसे ठीक करूं?
मुझे आपके मैपिंग – hackerhasid
के साथ किसी समस्या की तरह दिखता है सभी पूर्ण-योग्य नामों के साथ क्या है? वे यह समझने में अनावश्यक रूप से मुश्किल बनाते हैं कि क्या हो रहा है। –
पूरी तरह से योग्य नाम ईएस के लिए कोड की एमएस की पीढ़ी से हैं ... –