Linq2SQL не обновляет запись в SQL Azure - PullRequest
0 голосов
/ 06 марта 2012

Я экспериментирую с Azure и сталкиваюсь с проблемой, на которую, похоже, не могу найти ответ.

Я выполняю запрос linq для обновления базы данных Azure с изменениями в записи, но по какой-то причине эти изменения не регистрируются и не передаются в базу данных. Код, который я запускаю, выглядит следующим образом:

DataClasses1DataContext update = new DataClasses1DataContext();

    Company extra = update.Companies.Single(p => p.ID == Convert.ToInt32(Request.QueryString["ID"]));

    extra.companyName = txtCompanyName.Text;
    extra.address1 = txtAddress1.Text;
    extra.address2 = txtAddress2.Text;
    extra.address3 = txtAddress3.Text;
    extra.address4 = txtAddress4.Text;
    extra.town = txtTown.Text;
    extra.county = txtCounty.Text;
    extra.postCode = txtPostCode.Text;
    extra.billingEmail = txtBillingEmail.Text;
    extra.facebook = txtFacebook.Text;
    extra.fax = txtFaxNumber.Text;
    extra.faxArea = txtFaxArea.Text;
    extra.faxCountry = txtFaxCountry.Text;
    extra.linkedIn = txtLinkedIn.Text;
    extra.mainEmail = txtMainEmail.Text;
    extra.mainPhone = txtMainLineNumber.Text;
    extra.mainPhoneArea = txtMainLineArea.Text;
    extra.mainPhoneCountry = txtMainLineCountry.Text;

    if (drpMarketing.Text == "No")
    {
        extra.marketingYesNo = 0;
    }
    else
    {
        extra.marketingYesNo = 1;
    }

    extra.salesEmail = txtSalesEmail.Text;
    extra.twitter = txtTwitter.Text;
    extra.website = txtWebsite.Text;

    update.SubmitChanges();

Что я замечаю, устанавливая точки останова, так это то, что если я загружаю страницу, а затем изменяю некоторые данные, то новые данные не отображаются при вызове этого кода (это событие btnUpdate_Click)

Итак, когда используется submitChanges(), новые данные отсутствуют для отправки. Любая помощь оценена .... Я думаю, что я смотрел на это так долго, что нужны свежие глаза, смеется.

Ответы [ 2 ]

1 голос
/ 06 марта 2012

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

Другими словами, вы уверены, что заполняете только свою форму

if(!Page.IsPostback)
{
//populate the form
}

это сохранит пользовательские компенсации при обратной передаче.

0 голосов
/ 06 марта 2012

Вы пытались обернуть SubmitChanges в блок try?Может быть, это исключение.Вот как задокументировано выполнение обновлений, очень похожих на то, что вы делаете:

http://msdn.microsoft.com/en-us/library/bb399339.aspx

Кроме того, работает ли это с локальной базой данных SQL Server или базой данных SQL Express?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...