У меня стандартное обновление происходит через linq to sql, но данные не сохраняются в базе данных.
Я использую автоматически сгенерированный класс через конструктор файлов .dbml.
Ниже приведен оператор обновления:
public static void UpdateEmailsInWorkingTable(Guid emailGuid, string modifiedEmail)
{
using (EmailDBDataContext DBContext = new EmailDBDataContext())
{
EmailAddress_Update EAUpdated = (from e in DBContext.EmailAddress_Updates
where e.EmailGuid == emailGuid
select e).SingleOrDefault();
EAUpdated.EmailAddress = modifiedEmail;
EAUpdated.IsValid = 'Y';
EAUpdated.UpdateFlag = true;
EAUpdated.LastChangedDtTm = DateTime.Now;
try
{
DBContext.SubmitChanges(ConflictMode.FailOnFirstConflict);
}
catch (ChangeConflictException ex)
{
// do stuff here
}
}
}
Я просмотрел свой автоматически сгенерированный класс DataContext, и единственное явное отличие состоит в том, что в рассматриваемой таблице EmailAddress_Update не реализованы два интерфейса INotifyPropertyChanging иINotifyPropertyChanged, что делают другие автоматически сгенерированные объекты.
Я предполагаю, что это является причиной того, почему изменения не сохраняются, не так ли?
Проще говоря, ни одно из определений метода расширяемости не генерируется для какой-либо частиэто один класс.Если это является причиной моих проблем, что в базе данных могло бы вызывать автоматическое генерирование этого файла?
Спасибо ~