Я пишу приложение базы данных в .NET. Мое приложение читает данные из SQL Server с помощью LINQ.
Затем он сохраняет мои данные в DataSet (в таблицах). Когда пользователь что-то делает в приложении, данные сохраняются в DataSet (в таблицах). После некоторых транзакций пользователь может сохранить данные в базе данных (данные отправляются из набора данных в базу данных). Но есть проблема:
Например, у меня есть две таблицы в наборе данных, которые считываются из базы данных: банковский счет и транзакции дохода.
- BankAccount сохраняет все мои банковские счета.
- IncomeTransaction для сохранения моих доходов на моих счетах
- , поэтому у меня есть внешний ключ в таблице IncomeTransaction (IDACCOUNT)).
Затем я добавляю новую учетную запись в свою таблицу учетных записей (не в базу данных). После этого я добавляю новую IncomeTransaction в свою таблицу IncomeTransaction. IDACCOUNT добавленной IncomeTransaction является идентификатором новой учетной записи.
Все до этого шага в порядке. Но когда я пытаюсь сохранить данные в базе данных через LINQ, я получаю следующую ошибку:
Оператор INSERT конфликтовал с ограничением FOREIGN KEY "FK_Income_Accounts". Конфликт произошел в базе данных «HouseBudget», таблице «dbo.Accounts», столбце «IDAccount».
Заявление было прекращено.
Как я могу решить эту ошибку?