У меня есть база данных, которую я восстановил на SqlExpress из файла bak, который находился на моем экземпляре SQL Server Pro. Я использую Linq для взаимодействия с базой данных и могу запрашивать и обновлять некоторые из моих таблиц (я не пробовал их все). Тем не менее, у меня есть по крайней мере одна таблица, которая не будет принимать какие-либо обновления (моя таблица UserAddress). Если я выполню этот запрос
TestDataContext td = new TestDataContext();
UserAddress ua = (from u in td.UserAddresses
where u.UserID == 56
select u).Single();
ua.Address1 = "ffffffffffffuuuuuuuuuuu";
td.SubmitChanges();
ничего не происходит. Нет зафиксированного текста в базе данных, нет исключений, ничего. Это моя строка подключения (Источник данных = SNEE \ SQLEXPRESS; Исходный каталог = UsersDatabase; Интегрированная безопасность = True), хотя я пробовал ее с проверкой подлинности SQL и получил тот же результат. Кто-нибудь еще испытывал что-то подобное? Если так, что вы сделали, чтобы заставить его работать?
РЕДАКТИРОВАТЬ 1
Покопавшись в дизайнере, я заметил кое-что странное. Класс адреса выглядит так
[Table(Name="dbo.UserAddress")]
public partial class UserAddress
однако мой пользовательский класс выглядит так
[Table(Name="dbo.User")]
public partial class User: INotifyPropertyChanging, INotifyPropertyChanged
Я также заметил, что определения метода расширяемости определены для пользователя, но не для пользовательского адреса. Что дает? Я уверен, что это корень моей проблемы, но почему это произошло. Я попытался создать тестовый текстовый текст и снова перетащить на него таблицу, но он все равно не создал необходимый код.