태그 데이터베이스에 삽입해야하는 태그가 있습니다. 태그 데이터베이스에는 기본 키인 '태그'열 하나만 있습니다. 이것은 삽입하는 동안 중복을 방지하는 트릭입니다.삽입시 중복을 방지합니다.
이제 코드와 문제.
foreach (string tagval in tagarray)
{
try
{
var tag = new Tag
{
Tag1 = tagval
};
db.AddToTags(tag);
}
catch
{
}
}
db.SaveChanges();
이 방법의 문제는 중복이 조기 발견되면 SaveChanges()
를 호출 한 후, 프로그램이 다른 태그를 저장하지 않고 존재입니다. 테이블에 추가 할 때마다 SaveChanges()
에 전화하면 프로그램이 비효율적으로되고 많은 전화가 걸릴 것입니다. 이전 삽입이 실패한 후에도 삽입을 계속하는 방법은 무엇입니까?
다른 해결책도 환영합니다.
그 분명히 데이터 컨텍스트의 사용이 혼란의 원인이되는, SQL에 LINQ 없습니다. 그 엔티티 프레임 워크. –
나는 혼란이 linq-to-sql 태그에 의해 합성되었음을 알았지 만, 이제는 entity-framework 태그로 대체되었다. – Jodrell