我想知道是否有一种更简单的方法来批量插入一组记录,如果它们不存在于表中。例如,我在数据库中有一个标签表,它具有ID,名称列 - 给定一个标签名称列表,我只想添加那些不存在的标签名称。这是我想出的:在通过Linq插入到SQL之前检查是否存在
private static void InsertTags(IEnumerable<string> tagNames)
{
MyDataContext db = new MyDataContext();
var tags = from tagName in tagNames
where (db.Tags.Where(tag => tagName == tag.Name).FirstOrDefault() == null)
select new Tag
{
Name = tagName
};
db.Tags.InsertAllOnSubmit(tags);
}
有没有更好的方法?
感谢您对InsertAllOnSubmit的支持......我不知道这一点。 – Abhijeet 2008-12-24 10:03:08