2009-07-21 44 views
0

私は既存のデータベースに新しいエントリを挿入するために次のコードを使用しています。しかし、新しいレコードは挿入されません。可能性のある例外をフェッチするオプションは何ですか? これがうまくいかない理由は何でしょうか? SubmitChangesが非同期である場合、それが終了する機会を得る前にLINQ挿入 - エラーは表示されませんが挿入されません

おかげで、
rAyt

using (ContactManagerSampleDataDataContext db = new ContactManagerSampleDataDataContext()) 
        { 
         CustomerCompany company = new CustomerCompany(); 
         company.CompanyName = "Test"; 
         company.IsActive = true; 
         company.ModifiedDate = DateTime.UtcNow; 
         company.SapNumber = 1; 
         company.CompanyId = 1; 

         db.CustomerCompanies.InsertOnSubmit(company); 
         db.SubmitChanges(); 
        } 
+1

使用している接続文字列をダブルチェックしてください。間違ったdb –

答えて

1

は、その後、dbオブジェクトは、しかし、私はそれが非同期であるという証拠が表示されない、配置することができます。おそらく、SubmitChangesコールをtry/catchブロックにラップすると、発生した例外がすべて示されます。 DataContext.ChangeConflictsを見て、競合が発生していないかどうかを確認することもできます。

+0

に書き込んでいる可能性があります。 –

+0

私はその呼び出しが非同期であるとは思わないが、そうであれば、コミットが完了したことを確認するまで、Dispose()への呼び出しを延期する必要があります。 –

+0

これは修正ではありませんが、問題がどこにあるのかを判断するだけの方法ですが、usingキーワードを使用してオブジェクトをラップしないことで簡単にテストできます。 –

1

db.SubmitChanges()をtry catchでラップし、何かがスローされたかどうかを確認できます。同時実行性の問題でもあります。

関連する問題