Не могу добавить запись дважды с Linq для SQL - PullRequest
1 голос
/ 01 декабря 2009

В устаревшей системе, за которой я присматриваю, мне нужно добавить одну и ту же запись в таблицу дважды.

В таблице есть идентификатор, который увеличивается с каждой новой записью.

Если я сделаю следующее, я получу ошибку: «Невозможно добавить сущность, которая уже существует»

Есть ли способ добавить запись дважды, не создавая еще один объект PricingSnapshot?

            PricingSnapshot pricingSnapshot = new PricingSnapshot
            {
                InvoiceOrderLineId = invoiceOrderLineId,
                GrossPaymentValue = grossTotal,
                CreatedBy = "Pricing Engine",
                CreatedDate = DateTime.Now
            };
            dBpostChanges.PricingSnapshots.InsertOnSubmit(pricingSnapshot);
            dBpostChanges.SubmitChanges();

        dBpostChanges.PricingSnapshots.InsertOnSubmit(pricingSnapshot);
            dBpostChanges.SubmitChanges();

Ответы [ 2 ]

3 голосов
/ 01 декабря 2009

Создание другого объекта «Снимок цены» - это «правильный» способ сделать это. Это был способ, которым был разработан Linq to SQL, поэтому выполнение чего-либо еще плыло бы против течения.

2 голосов
/ 01 декабря 2009

Вам нужно будет создать новый объект PricingSnapshot, поскольку после первой отправки изменений ваш объект pricingSnapshot все еще существует, и теперь ему присвоен идентификатор из таблицы. Таким образом, если вы попытаетесь получить доступ к идентификатору объекта после первой отправки, вы обнаружите, что он есть, поэтому добавление его в таблицу снова приведет к добавлению дубликата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...