Правильный способ вставки нескольких записей в таблицу с использованием LINQ to Entities

Как и многие из нас, я создал простой цикл для добавления нескольких записей из базы данных. Пример прототипа будет что-то вроде этого:

Способ I:
// A list of product prices
List<int> prices = new List<int> { 1, 2, 3 };

NorthwindEntities NWEntities = new NorthwindEntities();

foreach (int price in prices)
{
   Product newProduct = new Product();
   newProduct.Price = price;
   NWEntities.Products.AddObject(newProduct);
}

NWEntities.SaveChanges();

Когда я впервые настроил цикл, я интуитивно написал:

Способ II:
Product newProduct = new Product();

foreach (int price in prices)
{
   newProduct.Price = price;
   NWEntities.Products.Add(newProduct);
}

После небольшого чтения несколько человек упомянули, что еслиСпособ II&nbsp;используется только одна запись будет добавлена ​​в таблицу. Это кажется нелогичным. Это функция Add (), которая загружает новую вставку и, я думаю, создает объект после каждого вызова с переданными данными. Объявление моего объекта Productвне&nbsp;цикл, по-видимому, лучше использует ресурсы, поскольку единственными издержками, потребляемыми при каждом вызове, будет повторное назначение свойства экземпляра объекта, а не восстановление самого экземпляра объекта.

Кто-нибудь может уточнить, пожалуйста? Я не смог найти другой пост, который непосредственно занимается этим вопросом. Если кто-то там, пожалуйста, укажите на это.