Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 4 / 3
Регистрация: 08.01.2016
Сообщений: 54
MS SQL

DataContext, база обновляется только после перекомпиляции

10.12.2017, 18:36. Показов 1008. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все-же это не та-е самая проблема.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    /// <summary>
    /// Class that connect form and database
    /// </summary>
    public class QuerySender
    {
        /// <summary>
        /// Entery point for Linq for SQL
        /// </summary>
        public DataContext db { get; protected set; }
 
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="connection">Address of database</param>
        public QuerySender(string connection)
        {
            db = new DataContext(connection);
            db.Log = Console.Out;
        }
 
        /// <summary>
        /// Metod thet send querys to database
        /// </summary>
        /// <param name="query">Query that sended</param>
        public void SendQuery(string query)
        {
            db.ExecuteCommand(query);
            db.SubmitChanges();
        }
    }
Обновления в базу сохраняются только при перекомпиляции приложения. Эксперименты со свойством "Copy to output directory" у mdf и xsd файлов не приводят ни к каким результатам. Все, что я нашла - что проблема может быть связана с отсутствием первичного ключа (но они у таблиц есть, а в представления я ничего записать не пытаюсь) или с некорректным подключением (но данные ведь при определенных вариантах все-же сохраняются, по идее, если бы подключение было некорректным, не сохранялось бы ничего и никогда). Linq to SQL изучаю империческим путем, простите, если упускаю что-то очевидное.
PS: я знаю, что нужно следить за сроком жизни объекта DataContext, но не хочу ничего менять в коде, пока не решу эту проблему.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2017, 18:36
Ответы с готовыми решениями:

Обновление базы данных: база обновляется только в папке Debug
в папке проекта храниться две базы данных , одна в корневом каталоге , вторая в папке bin\Debug\*.mdf Параметр &quot;копировать в...

Таблица обновляется только после перезапуска
Заполняю БД, но таблица обновляется только после перезапуска. Ещё нужно очистить textbox&quot;ы после ввода данных.

DataGridView обновляется только после перезапуска формы
В базу добавляется, но dataGridView обновляется только после перезапуска формы. как исправить? private void button2_Click(object...

7
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
11.12.2017, 09:25
Обновляйте отображение данных на форме после сохранения данных, в зависимости от того через что они у вас загружаются.
Цитата Сообщение от Nabra Посмотреть сообщение
(но данные ведь при определенных вариантах все-же сохраняются
Если у вас глюки при сохранении то лучше засунуть db.SubmitChanges() в try{}catch().

Не по теме:

Цитата Сообщение от Nabra Посмотреть сообщение
Linq to SQL изучаю империческим путем, простите, если упускаю что-то очевидное.
Честно говоря сам его так изучал.:D


З. Ы. Сложно сказать что-то конкретное не видя как организован проект целиком(по крайней мере по данному огрызку).
0
2 / 4 / 3
Регистрация: 08.01.2016
Сообщений: 54
16.12.2017, 00:24  [ТС]
И... DataContext тут был абсолютно не причем. У меня действительно было неправильное подключение. Исправила, работает. Чувствую себя дурой.
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
16.12.2017, 00:29
C#
1
2
3
4
5
Open Nuget Console
Enable-Migrations
$nameMigration = "nabra_"+$([guid]::NewGuid()).ToString("N")
Add-Migration -Name $nameMigration -ProjectName "Dal"
Update-Database -ProjectName "Dal"
Добавлено через 1 минуту
и вы забудете о не корректном DataContext
0
2 / 4 / 3
Регистрация: 08.01.2016
Сообщений: 54
16.12.2017, 00:53  [ТС]
Цитата Сообщение от агерон Посмотреть сообщение
C#
1
2
3
4
5
Open Nuget Console
Enable-Migrations
$nameMigration = "nabra_"+$([guid]::NewGuid()).ToString("N")
Add-Migration -Name $nameMigration -ProjectName "Dal"
Update-Database -ProjectName "Dal"
Добавлено через 1 минуту
и вы забудете о не корректном DataContext
Эм... По отсутствию точек с запятыми между строками и весьма экзотическому синтаксису догадываюсь, что это Linq. Даже не представляю себе, что тут написано. В любом случае, от DataContext отказалась вовсе, заменила SqlCommand-ом (так как приведенный класс нужен, только чтобы отправлять запросы базе, для чего SqlCommand-а вполне достаточно), а проблема оказалась совсем в другом.
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
16.12.2017, 01:16
эхх девушка это Entity Framework Code First парадигма

перевожу на русский
Возможность работать с БД минуя слой работы с SQL, всю сложность работы с SQL и БД берет на себя ORM Entity Framework от Microsoft

команды выше выполняются в Nuget Console для инициализации и обновления миграций DataContext а с базой вы действительно работаете через Linq, если вам интересно могу устроить краткий ликбез в живую через TeamViwer
0
2 / 4 / 3
Регистрация: 08.01.2016
Сообщений: 54
16.12.2017, 02:00  [ТС]
агерон, Спасибо, конечно, но в моем случае данная концепция идеологически не подходит (это курсовой проект по SQL), да и времени изучать эту технологию и переделывать все с нуля у меня нет. В целом, поинтересуюсь, когда будет время.
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
16.12.2017, 02:37
курсовой по SQL? странно а зачем тебе тогда C#?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.12.2017, 02:37
Помогаю со студенческими работами здесь

Информация в Access обновляется только после перезапуска
Всем привет. Добавляю данные в таблицу, нужно чтобы они отображались сразу, а отображение новых данных отображается только после...

Не обновляется база
Подскажите пожалуйста. При нажатии кнопки (текст ниже) не сохраняются изменения, если перед нажатием перейти на вкладку TabControl где...

Не обновляется база Access на C#
Читал уже и форум, и просто в инете искал, не хочет обновлять. bdAdapt = new OleDbDataAdapter(cmd.CommandText,cn.DbCon); ...

Не обновляется база Access
При редактировании меняются значения только в dataGridView, а самой базе Acсess - нет Вот сама программа:...

База данных access не обновляется
Вообщем нужно чтобы после нажатия кнопки принять данные из TextBox-ов запиавались в базу данных Acccess.Выводит сообщение что БД успешно...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru