DLINQ の使用中に興味深い問題に遭遇しました。エンティティをインスタンス化すると、DataContext で .SubmitChanges() を呼び出すと、.Insert[All]OnSubmit(...) を呼び出すことなく、新しい行がデータベースに挿入されます。
//Code sample:
Data.NetServices _netServices = new Data.NetServices(_connString);
Data.ProductOption[] test = new Data.ProductOption[]
{
new Data.ProductOption
{
Name="TEST1",
//Notice the assignment here
ProductOptionCategory=_netServices.ProductOptionCategory.First(poc => poc.Name == "laminate")
}
};
_netServices.SubmitChanges();
上記のコードを実行すると、データベースに新しい行が挿入されます。XML ファイルを解析していくつかのテーブルにデータを入力するアプリを作成しているときに、この影響に気付きました。約 50 程度しかないと予想していたときに、1000 以上の挿入があることに気付きました。その後、最終的にこの動作を分離しました。
これらのオブジェクトが暗黙的に永続化されないようにするにはどうすればよいですか?
ありがとう -チャールズ