Вставка ASP.Net в базу данных не обновляется

Я работаю с MSSQL Server 2008 и создал в нем базу данных. Теперь я сделал проект ASP.Net (MVC 4) и подключил его к базе данных. Я позволил Visual Studio создать модель данных Entity, и пока все работает нормально. Теперь у меня есть таблица для отношения «многие ко многим» с, конечно, ПК и двумя ФК. Когда я вручную вставляю строку в базу данных с помощью Microsoft SQL Server Management Studio и обновляю свою веб-страницу, эта новая строка не отображается.

Я на 100% уверен, что с кодом С# (ASP.Net) все в порядке, но через X минут появляется строка: s.

Нужно ли где-то обновлять источник данных или что я делаю не так? (это мой первый проект ASP.Net :))

Спасибо!

Редактировать код:

private dbEntities db = new dbEntities();

Этот dbEntities генерируется визуальной студией из SQL Server и содержит модели для всех таблиц.


person Stefan Koenen    schedule 11.09.2013    source источник


Ответы (1)


Похоже, ваш контекст данных устарел (он извлекает данные из памяти и не переходит в БД).

См. этот вопрос или этот one для возможного решения.

Изменить: Глядя на ваш пример кода, я предполагаю, что он был объявлен как член страницы (или класса). Вы должны обернуть это в оператор using, чтобы можно было удалить контекст объекта:

e.g.

using (var db = new dbEntities())
{
    //perform work
}
person Damon    schedule 11.09.2013
comment
Эй, прежде всего, спасибо за ваш ответ, но я не уверен, что это решение. Я не могу найти ни одного объекта, на котором я мог бы вызвать «обновление». - person Stefan Koenen; 11.09.2013
comment
Как вы извлекаете свои данные? Если вы используете EF, вы должны где-то использовать контекст данных для запроса ваших данных. Вам нужно вызвать обновление для этого объекта. Возможно, вставьте свой код доступа к данным в свой вопрос. - person Damon; 11.09.2013
comment
Возможно, нужно немного больше... разве вы не видите метод обновления в БД? Я думаю, что это ваш dbcontext. - person Damon; 11.09.2013
comment
эта база данных создается визуальной студией (модель данных объекта ADO.Net), я также могу обновить это, но ничего не могу найти. - person Stefan Koenen; 11.09.2013
comment
Только что увидел, что если вы используете dbcontext (ef 4.1 +), вам нужно привести его к объектному контексту, чтобы получить метод обновления stackoverflow.com/questions/13177718/ - person Damon; 11.09.2013
comment
Единственная проблема заключалась в том, что мне нужно создать новый объект для БД. Работает без обновления :). Спасибо! - person Stefan Koenen; 11.09.2013