タグ データベースに挿入する必要があるタグがいくつかあります。タグデータベースには、主キーでもある「タグ」列が 1 つしかありません。これは、挿入中に重複を防ぐためのトリックでした。
それでは、コードと問題です。
foreach (string tagval in tagarray)
{
try
{
var tag = new Tag
{
Tag1 = tagval
};
db.AddToTags(tag);
}
catch
{
}
}
db.SaveChanges();
このアプローチの問題はSaveChanges()
、重複が早期に見つかった場合に呼び出した後、プログラムが他のタグを保存せずに存在することです。テーブルに追加するたびに呼び出すとSaveChanges()
、プログラムが非効率になり、多くの呼び出しを行う必要があります。以前の挿入が失敗した後でも挿入を続行するにはどうすればよいですか?
代替ソリューションも歓迎されます。