2010-03-17 2 views
2

В моем втором проекте ASP.NET MVC у меня возникает очень странная проблема: когда я вызываю метод SubmitChanges класса DataContext, ничего не обновляется в база данных. Это странно, потому что все отлично работает с моим первым проектом.ASP.NET LINQ to SQL SubmitChanges() не обновляет базу данных

Я использую удаленную базу данных, созданную в Sql Server Management Studio, я пробовал делать некоторые запросы там и в Visual Studio 2010 (где у меня есть соединение с базой данных), все они работают.

Куда могут возникнуть проблемы?

DBDataContext DB = new DBDataContext(); 
var myuser = DB.Users.Single(u => u.ID == id); 
myuser.Age = 45; 
DB.SubmitChanges(); 

РЕШЕНИЕ

Это стыдно: D На самом деле у меня не было первичный ключ. Теперь это работает!

Спасибо всем!

+1

Не могли бы вы отобразить код. – AxelEckenberger

+0

Добавлен пример кода. – Alex

+0

вы уверены, что первоначального возраста уже нет? Если вы установите значение на существующее значение, оно может не совершить Попробуйте использовать тот же файл данных за пределами MVC, чтобы вы могли выделить факторы, способствующие созданию. – TobyEvans

ответ

3

Таблица, КЛЮЧ :): :) :)

Вставьте ключ в таблице !!!!!

+0

О, черт возьми! Это неловко: D Действительно, у меня не было первичного ключа. Спасибо! – Alex

+0

Ух! Это тоже меня. Такая простая вещь, о которой нужно забыть в таблице. – Chris

0

Возможно, нет ничего, что бы отправить в базу данных? SubmitChanges() будет отправлять только измененные или новые данные, если у вас их нет, то он не будет иметь никакого постоянного эффекта.

Возможно, вы захотите прочитать ScottGu's series on Linq, чтобы понять немного больше о Linq, или можете захотеть получить такую ​​книгу, как Linq in action.

0

Возможно ли, что объекты, которые вы изменяете, не связаны с DataContext? Это предотвратит их внесение обновлений в вашу базу данных.

+0

Я создал класс linq для sql, как описано в учебнике nerdinner ... Как могу ли я проверить, связаны ли они? – Alex

0

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

Смежные вопросы