Ваш код выглядит примерно так (не тестировал его), поэтому, возможно, проблема в том, что вы тестируете его с подключенной базой данных времени выполнения.Если ваша строка подключения имеет свойство «AttachDbFilename» вместо «База данных» или «Начальный каталог», например:
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CateringDB.mdf;Integrated Security=True;User Instance=True"
В таком случае происходит то, что каждый раз, когда вы компилируете свою программу из Visual Studio,файл вашей базы данных копируется в выходной каталог (/ bin / debug или / bin / release), и любые изменения выполняются для копии базы данных, а не той, которую вы видите в обозревателе решений.
Этопроблема не появится после развертывания, когда вы больше не запускаете программу из Visual Studio.
Вы можете изменить это поведение одним из следующих способов:
- Выбор файла .mdf вОбозреватель решений, а затем в свойствах (нажмите F4) измените настройку «Копировать в выходной каталог» на что-то другое, чем «Копировать всегда».(Мое рекомендуемое решение.)
- Изменение строки подключения для указания абсолютного или относительного пути, например «AttachDbFileName = c: \ catering.mdb» или «AttachDbFileName = .... \ Catering.mdb» (таким образомудаление части «| DataDirectory |».