2009-08-15 8 views
0

J'ai deux tables Settlement et Violations.SettlementID est la clé primaire dans la table Settlements et la clé étrangère dans Violations.Problème d'insertion de données LinQ to SQL

Dans mon fichier dbml, j'ai glissé et déposé à la fois les tables et l'association est définie.

Dans mon code VB.net lorsque je tente d'insérer des enregistrements dans db il est pas l'option donne à ajouter des valeurs collection de violation dans les établissements

Je suis en train de lire un fichier xml avec les établissements et violation et insérer dans SQL . Mais seule la table de règlement est insérée avec des enregistrements.

Je ne suis pas en mesure d'ajouter _v aux règlements car il n'est pas listé.

S'il vous plaît aider

Dim Orders As XDocument = XDocument.Load("c:/inetpub/violations.xml") 

    Dim _Orderss = violations.<Collections>.<Settlement> 

    For Each _settlement In _settlements 
     Dim s As New Settlement 

     s.CamisID = _settlement.<CamisID>.Value 
     s.DocketID = _settlement.<DocketID>.Value 
     s.RespFName = _settlement.<RespFName>.Value 
     s.RespMName = _settlement.<RespMName>.Value 
     s.RespLName = _settlement.<RespLName>.Value 
     s.DispDate = Date.Parse(_settlement.<DispDate>.Value) 

     Dim _violations = _settlement.<ViolationList>.<Violation> 

     For Each _violation In _violations 
      Dim _v As New Violation 

      _v.DocketID = _settlement.<DocketID>.Value 
      _v.ViolationInfo = _violation.<ViolationInfo>.Value 
      _v.violationCD = _violation.<ViolationCd>.Value 
      _v.Severity = Integer.Parse(_violation.<Severity>.Value) 
      _v.Point = Integer.Parse(_violation.<Point>.Value) 
      _v.Occurence = Integer.Parse(_violation.<Occurence>.Value) 


     Next 
     _db.Settlements.InsertOnSubmit(s) 
     _db.SubmitChanges() 
    Next 

Répondre

0

Vous devez définir la propriété parent de chaque enfant au lieu d'ajouter les enfants aux parents.

Pouvez-vous essayer de définir la propriété Settelment de chaque _v au lieu d'ajouter les violations au règlement?

For Each _settlement In _settlements 
    Dim s As New Settlement 

    s.CamisID = _settlement.<CamisID>.Value 
    s.DocketID = _settlement.<DocketID>.Value 
    s.RespFName = _settlement.<RespFName>.Value 
    s.RespMName = _settlement.<RespMName>.Value 
    s.RespLName = _settlement.<RespLName>.Value 
    s.DispDate = Date.Parse(_settlement.<DispDate>.Value) 



    Dim _violations = _settlement.<ViolationList>.<Violation> 

    For Each _violation In _violations 
     Dim _v As New Violation 

     _v.DocketID = _settlement.<DocketID>.Value 
     _v.ViolationInfo = _violation.<ViolationInfo>.Value 
     _v.violationCD = _violation.<ViolationCd>.Value 
     _v.Severity = Integer.Parse(_violation.<Severity>.Value) 
     _v.Point = Integer.Parse(_violation.<Point>.Value) 
     _v.Occurence = Integer.Parse(_violation.<Occurence>.Value) 
     _v.Settelment = s 
     _db.Violations.InsertOnSubmit(_v) 
    Next 

    _db.Settlements.InsertOnSubmit(s) 
    _db.SubmitChanges() 

Next