Проблема первичного ключа ASP.NET - PullRequest
0 голосов
/ 04 июня 2011

Я занимаюсь разработкой сайта о карьере для одного из моих проектов.Я использую Visual Studio 2010 и ASP.NET Web Forms для кодирования.

Моя проблема в том, что я получил таблицу с именем Companies, которая состоит из столбцов Company ID, Company Name, Company Address и Company Phone.CompanyID - мой первичный ключ.Я пытаюсь вставить новые компании в эту таблицу, используя Linq-to-SQL.

Когда я выполняю следующий фрагмент кода, если база данных пуста, код работает правильно, но если это не так, он может 't автоматически увеличивает CompanyID и выдает ошибку базы данных.

Как я могу решить эту проблему?

Заранее спасибо.

protected void Button1_Click(object sender, EventArgs e)
{
    Label_error.Text = "";
    Page.Validate();

    if (Page.IsValid)
    {
        CareerDataContext db = new CareerDataContext();

        Company newCompany = new Company { coName = TextBox_coName.Text, coAddress = TextBox_coAddress.Text, coPhone = int.Parse(TextBox_coPhone.Text) };
        Company fCompany = db.Companies.SingleOrDefault(company => company.coName.Equals(TextBox_coName.Text));

        if (fCompany == null)
        {
            db.Companies.InsertOnSubmit(newCompany);
            db.SubmitChanges();
        }
        else
            Label_error.Text = "This username is already in use";
    }
}

1 Ответ

1 голос
/ 04 июня 2011

Если ваш CompanyID является уникальным идентификатором, вы можете передать Guid.NewGuid();

Например:

Company newCompany = new Company { coID = Guid.NewGuid(), coName = TextBox_coName.Text, coAddress = TextBox_coAddress.Text, coPhone = int.Parse(TextBox_coPhone.Text) };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...