मेरी वर्तमान परियोजना एंटिटी फ्रैमवर्क कोड-प्रथम पर आधारित है। मेरे पास तीन प्रकार हैं: कार्य, कार्य प्रकार और मॉड्यूल।इकाई फ्रेमवर्क उन लोगों का उपयोग करने के बजाय विदेशी कुंजी ऑब्जेक्ट बनाता है जो पहले से ही उपलब्ध हैं
public class Task
{
public int ID { get; set; }
public Module Module { get; set; }
public TaskType Type { get; set; }
}
public class TaskType
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Module
{
public int ID { get; set; }
public string Name { get; set; }
}
कार्य-प्रकार के लिए तालिका के अंदर परिभाषित विदेशी कुंजी संबंध हैं।
मेरी समस्या यह है कि जब मैं पहले से उपलब्ध टास्कटाइप और मॉड्यूल ऑब्जेक्ट्स (आईडी = 1) से जुड़ा नया टास्क-ऑब्जेक्ट बनाने का प्रयास करता हूं, तो उन ऑब्जेक्ट्स को उनकी संबंधित तालिकाओं में नई पंक्तियों के रूप में बनाया जाता है।
TaskRepository repo = new TaskRepository();
Task task = new Task();
task.Module = Modules.SingleOrDefault(m => m.ID == 1);
task.Type = TaskTypes.SingleOrDefault(t => t.ID == 1);
Tasks.Add(task);
यह रूप में अच्छी तरह बस पहले से ही उपलब्ध TaskType-आईडी और मॉड्यूल-आईडी का उपयोग कर के बजाय मेरी TaskType-तालिका में और मेरे मॉड्यूल-तालिका में एक नया पंक्ति बनाता है।
मुझे आशा है कि मैं यह स्पष्ट कर दिया कि मेरी समस्या ;-) है
आपकी मदद के लिए अग्रिम धन्यवाद। मैं इसकी सराहना करता हूं।
सादर, केविन
क्या आप 'मॉड्यूल' और 'टास्क टाइप' लोड करने और 'कार्य' को सहेजने के लिए एक ही संदर्भ उदाहरण का उपयोग कर रहे हैं? –
नहीं, मुझे मॉड्यूल और टास्कटाइप को अन्य वर्ग के अंदर सहायक पद्धतियों का उपयोग करके प्राप्त होता है जो फिर से मेरे डीबीकॉन्टेक्स्ट का एक उदाहरण रखता है। – bitfrickler