閱讀190 返回首頁    go 小米 go 小米5


linq to sql插入操作取回自增的ID

 

       

首先我們來看一個簡單的插入操作:

        TestDataContext dc = new TestDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            tbl_User user = new tbl_User();
            user.uname = "xy";
            user.upwd = "111";
            dc.tbl_User.InsertOnSubmit(user);
            dc.SubmitChanges();

           int id = user.uid;
        }

 

int id = user.uid 這句話就能拿到剛剛插入的值!這麼神奇,為什麼呢?

 

1 首先我們在數據庫中對uid設置的時候,就設置它為主鍵,然後為表示列,自增長,種子是1,增長量是1等。

2 那麼我們把數據表拖到VS上來,我們不隻要會拖,還要會看。

 

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_uid", AutoSync=AutoSync.OnInsert,DbType="Int NOT NULL IDENTITY",IsPrimaryKey=true,IsDbGenerated=true)]
  public int uid
  {
   get
   {
    return this._uid;
   }
   set
   {
    if ((this._uid != value))
    {
     this.OnuidChanging(value);
     this.SendPropertyChanging();
     this._uid = value;
     this.SendPropertyChanged("uid");
     this.OnuidChanged();
    }
   }
  }

 

AutoSync=AutoSync.OnInsert 表示在插入式自動同步,

IsDbGenerated表示是數據庫自動生成的值。

這樣才能那麼神奇!懂了吧。

 

我們當然也可以通過可視化視圖來設置這些屬性。

 

 

如果是純sql獲得這個id就複雜一點,請參看本博客另一篇:

《Sql Server中如何取得剛剛插入的自增長的id值》

https://blog.sina.com.cn/s/blog_67aaf4440100w7ns.html

 

最後更新:2017-04-02 22:15:57

  上一篇:go Chrome 開始允許用戶自己監控擴展的活動
  下一篇:go activity屬性設置大全