Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
30 / 11 / 5
Регистрация: 01.03.2014
Сообщений: 379

Ошибка при добавлении данных в БД

08.07.2020, 16:11. Показов 656. Ответов 3

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане.
Создал три класс:
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    public class Customer
    {
        public int CustomerId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string MiddleName { get; set; }
        public string PassportNumber { get; set; }
        public string Address { get; set; }
        public string Phone { get; set; }
 
        public virtual ICollection<Account> Accounts { get; set; }
        public Customer()
        {
            Accounts = new List<Account>();
        }
 
        public override string ToString()
        {
            return LastName;
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public class Deposit
    {
        public int DepositId { get; set; }
        public string DepositName { get; set; }
        public int BestBefore { get; set; }
        public double Rate { get; set; }
 
        public virtual ICollection<Account> Accounts { get; set; }
        public Deposit()
        {
            Accounts = new List<Account>();
        }
 
        public override string ToString()
        {
            return DepositName;
        }
 
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public class Account
    {
        public int AccountId { get; set; }
 
        public DateTime OpeningDate { get; set; }
        public DateTime ClosingDate { get; set; }
 
        public double InvestmentAmount { get; set; }
        public double AccumulationAmount { get; set; }
 
        public int? DepositDepositId { get; set; }
        public virtual Deposit Deposit { get; set; }
 
        public int? CustomerCustomerId { get; set; }
        public virtual Customer Customer { get; set; }
    }

Добавление данных в Deposit и Customer происходит успешно, однако при добавлении данных в Account получаю ошибку (SqlException: Cannot insert explicit value for identity column in table 'Customers' when IDENTITY_INSERT is set to OFF.)
Данные добавляю так:
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using (ApplicationContext db = new ApplicationContext())
            {
                Account account = new Account
                {
                    OpeningDate = Convert.ToDateTime(maskedTextBox1.Text).Date,
                    ClosingDate = Convert.ToDateTime(maskedTextBox2.Text).Date,
                    InvestmentAmount = Convert.ToDouble(textBox1.Text),
                    AccumulationAmount = Convert.ToDouble(textBox2.Text),
                    Deposit = (Deposit)comboBox1.SelectedItem,
                    Customer = (Customer)comboBox2.SelectedItem
                };
                db.Accounts.Add(account);
                db.SaveChanges();
            }

Наверное я делаю что-то не так.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.07.2020, 16:11
Ответы с готовыми решениями:

Ошибка при добавлении данных
В программе я пытаюсь добавить записи в таблицу Manufacturer(рис.1) для этого в соответствующие textbox я ввожу соответствующую информацию...

Ошибка при добавлении данных в БД
Всё, разобралась. Спасибо :D Подскажите, в чём может быть проблема. Что делаю неправильно, как исправить? Не могу разобраться....

Ошибка при добавлении данных в БД
Хочу добавить данные в БД Access через текстбоксы. Ни одна из перегрузок метода &quot;Insert&quot; не принимает &quot;2&quot;...

3
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
08.07.2020, 16:38
holod2014, нужно EF'у сказать, что вам Customer.CustomerId - есть первичный ключ, а не хухры-мухры.
0
30 / 11 / 5
Регистрация: 01.03.2014
Сообщений: 379
08.07.2020, 17:48  [ТС]
над Customer.CustomerId написать [key]?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
08.07.2020, 22:28
Цитата Сообщение от holod2014 Посмотреть сообщение
над Customer.CustomerId написать [key]?
Если у Вас не "Database First", то да. Если DF, то надо на SQL-Server в таблице Customer поле CustomerId изменить на PRIMARY KEY. После обновления модели без всяких директив все будет работать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.07.2020, 22:28
Помогаю со студенческими работами здесь

Ошибка при добавлении данных
Подскажите пожалуйста. procedure TFormAdd.btn1Click(Sender: TObject); var id_vid_peredachi: Integer; id_radioset,...

Ошибка при добавлении данных
Доброго времени суток. Подскажите пожалуйста. Добавляю данные в БД Access. Изначально был код добавления такой:1 procedure...

Ошибка при добавлении данных БД
procedure TForm16.Button1Click(Sender: TObject); var s,m:String; begin begin s:='INSERT INTO Заказы (, , , ,,) VALUES...

Ошибка при добавлении данных
Добрый день. Пытаюсь добавить данные в таблицу и появляется ошибка. Код кнопки procedure TForm1.Button2Click(Sender: TObject); ...

Ошибка при добавлении данных
При добавлении данных на главную форму, выводится ошибка, связанная с компонентом IBQuery2, расположенным на главной форме, подскажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru