1
如果我說例如100,000行插入/更新/刪除,這個數字將不斷增長。以下哪一種是最好的方法,或者它沒有任何區別。Linq2Sql InsertAllOnSubmit Vs多個InsertOnSubmit對於大量的行
的PeopleRepository AddPeople實施
public void AddPeople(IEnumerable i)
{
_Database.people.InsertAllOnSubmit(i);
}
的PeopleRepository addPerson的實施
public void AddPerson(Person p)
{
_Database.people.InsertOnSubmit(p);
}
的PeopleRepository保存實施
public void Save()
{
_Database.SubmitChanges();
}
InsertAllOnSubmit實施
PeopleRepository repo = new PeopleRepository();
List<Person> everyone = new List<Person>();
foreach (var p in myObject.GetPeople())
{
Person person = new Person
{
person.Name = p.Name
};
everyone.Add(person);
}
repo.AddPeople(everyone);
repo.Save();
InsertOnSubmit實施
PeopleRepository repo = new PeopleRepository();
foreach (var p in myObject.GetPeople())
{
Person person = new Person
{
person.Name = p.Name
};
repo.AddPerson(person);
repo.Save();
}
+1因爲如果你用LINQ to SQL來做這件事,它會爲你做的每一個插入操作執行一個單獨的查詢,無論你如何編寫代碼將花費比執行一些普通SQL語句更長的時間。 – 2010-02-25 10:13:35