2011-02-10 9 views
5

मेरे पास 3 टेबल्स हैं। मेटाडाटा, नियम, और एक एनएक्सएन संबंध मेटाडाटा नियम।इकाई फ्रेमवर्क कई लोगों को डुप्लिकेट डेटा बनाता है

मैं मेटाडेटा डाल रहा हूं, और मेरी ऑब्जेक्ट में नियमों की एक सूची है जो डीबी से पुनर्प्राप्त की जाती हैं।

myMetadata.Rules = myListOfrules; 

जब मैं एक डालने करते हैं, myListOfRules में सभी नियमों का सिर्फ एक संबंध बनाने की, नियम तालिका में दोहराया गया है बजाय। मैं के साथ यह डालने हूँ:

public static void InserirTipoMetadata(TA_TIPO_METADATA tipoMetadata) { 
    using (EnterpriseContext context = new EnterpriseContext()) { 
     context.TipoMetadata.AddObject(tipoMetadata); 
     context.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave); 
    } 
} 

क्या मैं नियम नकल नहीं करने के लिए क्या करना चाहिए?

धन्यवाद!

उत्तर

0

मैं एक समाधान पाया है, लेकिन मुझे नहीं लगता कि यह सही है कि ...

public static void InserirTipoMetadata(TA_TIPO_METADATA tipoMetadata) { 
      using (EnterpriseContext context = new EnterpriseContext()) { 
       List<TA_REGRA_VALID> regras = new List<TA_REGRA_VALID>(); 
       foreach (var v in tipoMetadata.TA_REGRA_VALID) { 
        regras.Add(context.Regra.Single(p => p.CO_SEQ_REGRA == v.CO_SEQ_REGRA)); 
       } 
       tipoMetadata.TA_REGRA_VALID = regras; 
       context.TipoMetadata.AddObject(tipoMetadata); 
       context.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave); 
      } 
     } 

मैं डीबी से फिर से नियम का चयन कर रहा हूँ जोड़ने के लिए प्रयास करने से पहले। क्या यह सही तरीका है?

संबंधित मुद्दे