2009-08-15 19 views
0

私は2つのテーブルを持っています。SettlementとViolations.SettlementIDはSettlementsテーブルのプライマリキーと違反の外部キーです。LinQからSQLへのデータ挿入問題

私のdbmlファイルで、私は両方のテーブルをドラッグアンドドロップし、関連付けが設定されています。

私のVB.netコードで

私はDBにレコードを挿入しようとすると、それは私が居住し、違反してXMLファイルを読み込み、SQLに挿入しようとしている決済

に値違反のコレクションを追加するオプションを与えていません。しかし、決済テーブルだけがレコードと共に挿入されています。

決済に_vを追加することはできません。

あなたが親に子を追加するのではなく、それぞれの子の親プロパティを設定する必要が

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 

答えて

0

助けてください。

違反を和解に追加する代わりに、各_vのSettelmentプロパティを設定できますか?

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 
関連する問題