Как получить первичный ключ после вставки в SQL Ce для Windows Phone - PullRequest
0 голосов
/ 26 июля 2011

Ado.net отсутствует в Windows Phone, так как я могу получить первичный ключ после операции вставки?

В SQL есть метод:

SELECT @@IDENTITY 

Итак, дляSQl Ce в Windows phone, как это сделать с помощью Linq To SQL или чего-либо еще.

Спасибо

--- Обновлено:

Это ссылка на InInsert, которую вы ссылаетесь в столбце?

[Column(Storage="_CtcId", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int CtcId
{
    get
    {
        return this._CtcId;
    }
    set
    {
        if ((this._CtcId != value))
        {
            this.OnCtcIdChanging(value);
            this.SendPropertyChanging();
            this._CtcId = value;
            this.SendPropertyChanged("CtcId");
            this.OnCtcIdChanged();
        }
    }
}

Я получил код возврата.Пожалуйста, сообщите, если это правильный способ получить первичный ключ после операции вставки, например:

using (DBContacts context = new DBContacts(ConnectionString))
                    {
                        //--- create object first:

                        TblContacts tblCtc = new TblContacts();


                        tblCtc.FirstName = txtFirstName.Text.Trim();
                        tblCtc.LastName =txtLastName.Text.Trim();
                        tblCtc.Birthday = txtBirthday.Text.Trim();
                        tblCtc.NickName = txtNickName.Text.Trim();

                context.TblContacts.InsertOnSubmit(tblCtc);
                        context.SubmitChanges();

                        var id = tblCtc.CtcId;

                        MessageBox.Show("Inserted Ok. Id is no :" + id.ToString());


                    }

1 Ответ

0 голосов
/ 26 июля 2011

Если для свойства PrimaryKey ваших объектов AutoSync установлено значение OnInsert, то после вставки объекта его ключ будет автоматически обновлен.

Пример:

var newPerson = new Person() { Name = "Windcape" };
people.Add(newPerson);

var id = newPerson.Id; // Id is now the inserted id
...