<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
首先我们来看一个简单的插入操作:
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> TestDataContext dc = new TestDataContext();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> protected void Page_Load(object sender, EventArgs e)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> tbl_User user = new tbl_User();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> user.uname = "徐越";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> user.upwd = "111";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> dc.tbl_User.InsertOnSubmit(user);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> dc.SubmitChanges();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><strong>int id = user.uid;<br></strong><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
int id = user.uid 这句话就能拿到刚刚插入的值!这么神奇,为什么呢?
<wbr></wbr>
1 首先我们在数据库中对uid设置的时候,就设置它为主键,然后为表示列,自增长,种子是1,增长量是1等。
2 那么我们把数据表拖到VS上来,我们不只要会拖,还要会看。
<wbr></wbr>
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_uid", AutoSync=AutoSync.OnInsert,DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
<wbr><wbr>public int uid<br><wbr><wbr>{<br><wbr><wbr><wbr>get<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>return this._uid;<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>set<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>if ((this._uid != value))<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>this.OnuidChanging(value);<br><wbr><wbr><wbr><wbr><wbr>this.SendPropertyChanging();<br><wbr><wbr><wbr><wbr><wbr>this._uid = value;<br><wbr><wbr><wbr><wbr><wbr>this.SendPropertyChanged("uid");<br><wbr><wbr><wbr><wbr><wbr>this.OnuidChanged();<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
AutoSync=AutoSync.OnInsert 表示在插入式自动同步,
IsDbGenerated表示是数据库自动生成的值。
这样才能那么神奇!懂了吧。
我们当然也可以通过可视化视图来设置这些属性。
如果是纯sql获得这个id就复杂一点,请参看本博客另一篇:
《Sql Server中如何取得刚刚插入的自增长的id值》