Добавленные строки в приложении не отображаются в 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 ответ
- Убедитесь, что вы видите в SQL Management Studio ту же базу данных и таблицу, с которыми работали из своего приложения. Проверьте свой файл конфигурации соединения.
- Просто для проверки - добавьте DatabaseContext.Orders.Count() перед вставкой.
- Может быть, это еще один бит вашего кода, который может переписать данные в старое состояние?
Я пытался закрыть визуальную студию и перезапустить ее,
нет причин для этого