Добавленные строки в приложении не отображаются в SQL Management Studio

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

DatabaseContext.Orders.Add(newOrder);
DatabaseContext.SaveChanges();

Я проверил базу данных с помощью SQL Management Studio и увидел, что там есть новая строка. Это было вчера и пока все хорошо.

Сегодня я загрузил свое решение, запустил его снова и добавил еще один ряд. В моем заявлении, если я выполню следующее

DatabaseContext.Orders.Count();

Я получаю счет 2, как и следовало ожидать, но если я открою SQL Management Studio и Select all или же select Top 1000, он показывает только 1 строку, которая является первой строкой, которую я создал вчера.

Как это возможно?

Моя проблема очень похожа на этот пост. Почему добавленные записи не отображаются в студии управления SQL Server с использованием SQL Serve Express?

Однако решение не решает мою проблему.

Я пытался закрыть визуальную студию и перезапустить ее, не знаю почему, но я подумал, почему нет.

Кроме того, чтобы проверить экземпляры, я выполнил следующую строку в командной строке

sqllocaldb info

и это вернулось MSSQLLocalDB,

Очевидно, у меня есть только один экземпляр, и он работает.

О, и просто короткое замечание, мне пришлось вчера переустановить SQLLocalDB 2016, так как по какой-то причине мой экземпляр не запустился.

РЕДАКТИРОВАТЬ: просто добавить, я удаляю все строки в SQL Management Studio. Приложение все еще говорит, что есть 2 строки

EDITE 2: моя строка подключения из app.config

name = "DefaultConnection" connectionString = "источник данных =(LocalDB)\MSSQLLocalDB; Начальный каталог =TestDB; Интегрированная безопасность =True" providerName="System.Data.SqlClient" введите код здесь

ОБНОВЛЕНИЕ 1: Поэтому я решил удалить экземпляр и воссоздать его, выполнив следующие действия.

sqllocaldb stop MSSQLLocalDB

sqllocaldb delete MSSQLLocalDB

sqllocaldb create MSSQLLocalDB

SQL Management Studio теперь показывает нулевые базы данных. Затем я запускаю свое приложение, и оно генерирует базу данных и таблицы. SQL Management Studio подтверждает это. Теперь я добавляю строки из своего приложения и вижу их в SQL Management Studio.

Я хотел бы думать, что проблема решена, но я предпочитаю понять, в чем корень проблемы.

1 ответ

  1. Убедитесь, что вы видите в SQL Management Studio ту же базу данных и таблицу, с которыми работали из своего приложения. Проверьте свой файл конфигурации соединения.
  2. Просто для проверки - добавьте DatabaseContext.Orders.Count() перед вставкой.
  3. Может быть, это еще один бит вашего кода, который может переписать данные в старое состояние?

Я пытался закрыть визуальную студию и перезапустить ее,

нет причин для этого

Другие вопросы по тегам