私は単純なエンティティを持っています。Entity Framework、以前にこのエントリを追加しましたか?
public partial class Thing
{
public Thing()
{}
public int Id { get; set; }
public string Name { get; set; }
}
私はlocalDBデータベースに何千もの新しいエントリを挿入していますが、ちょっとしたものしかありません。 挿入するたびにSaveChangesを実行すると非常に遅くなりますが、SaveChangesを実行しないと、newThing.Nameがすでに存在するかどうかを判断できません。 できますか?私は何かが文脈に存在するかデータベース対前/後SaveChangesであるかをチェックするのはかなり霧がかかっています。誰も私のためにこれを明確にすることはできますか?
Thing newThing = new Thing();
newThing.Name = "MyName";
context.Things.Add(d);
//returns null
Thing myFirstThing = context.Things.FirstOrDefault(c => c.Name == newThing.Name);
//returns false
if (context.Detectors.Any(c => c.Name == newThing.Name))
{ //do some stuff}
応答をありがとう。私はあなたの辞書のアイデアに行くと思います。唯一の400ishユニークなエントリがあります。私はおそらくリストを使用します。 –
kurgaan
@kurgaan喜んで助けてください。リストを使用すると、辞書のパフォーマンスは得られません。リストを検索すると、リストをループするだけです。ディクショナリやハッシュセットを使用している場合、単純なループは行われません。索引があるとよく似ているため、ルックアップではるかに優れたパフォーマンスが得られます。 – JMarsch