星期五, 7月 04, 2008

linq抓insert後的Identity欄位

在之前..我們做這個功能..我們都這樣做

Insert into test(test) values(@test);select @ID=@@Identity

然後加入一個名子是ID的參數..設定它的Direction是InputOutput再去抓出來就行了..其實蠻簡單的只是有點麻煩..可以看小紀大大的文章..這裡有詳細教學..

那如果用linqㄋ..要怎麼使用..Devil..很簡單..看下面..

linqToSqlDataContext db = new linqToSqlDataContext();
da.test newRow = new da.test();
newRow.a = "a1";
newRow.b = "b1";
newRow.c = "c1";
db.test.InsertOnSubmit(newRow);
db.SubmitChanges();

Response.Write(newRow.id);//------這裡就是答案

很簡單ㄅ..來看看linq是怎麼抓出來的..

8852

厲害ㄅ..Day dreaming..

http://www.manning-sandbox.com/message.jspa?messageID=70279

1 則留言:

Williams 提到...

感謝分享嘿^^

如是用LinqDataSource EnableInsert方式新增的話,在Inserted裡只要下:
if (e.Exception == null)
{
linqToSql c = (linqToSql)e.Result;
Response.Write(c.Id);//------這裡就是答案
}