次のコードがあるとします。
TEModule teModule = Context.TEModules.Where(module => module.EnumValue.Equals(text.ModuleName)).FirstOrDefault();
if (teModule == null)
{
teModule = new TEModule();
teModule.EnumValue = text.ModuleName;
Context.TEModules.AddObject(teModule);
//Context.SaveChanges();
TEModule aux = Context.TEModules.Where(module => module.EnumValue.Equals(teModule.ModuleName)).FirstOrDefault();
}
私の問題は、「SaveChanges 」をコメントのままにしておくと、「 AddObject」メソッドを呼び出しても Context.TEModules が空であるため、次のクエリで補助オブジェクトが常に null になることです。ただし、AddObject の後に SaveChanges を呼び出すと、次のクエリで補助オブジェクトは null ではありません。問題は、SaveChanges をそれほど頻繁に呼び出したくないということです。これはオブジェクトを追加する唯一のコードではなく、そうするとパフォーマンスが低下するからです。
質問は次のとおりです。後でオブジェクトが既に存在するかどうかを知る必要がある場合、AddObject 呼び出しのたびに SaveChanges を呼び出す必要がありますか?