首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

实体框架调用savechanges插入新数据后,怎么获取新插入行的ID

2012-01-18 
实体框架调用savechanges插入新数据后,如何获取新插入行的IDRT,请多指教,谢谢![解决办法]你是用 .NET3.5SP

实体框架调用savechanges插入新数据后,如何获取新插入行的ID
RT,请多指教,谢谢!

[解决办法]
你是用 .NET3.5SP1 还是.NET 4.0? 两者在 SaveChanges() 上签名不同, 3.5中的SaveChanges(bool)已被标识为过时。

不过,只要你的实体(如表T1)是的自增ID是主键,那么在 SaveChanges() 之后(不管使用哪一种方法签名),自增ID总是被自动返回,因为实体已经被重新获取

C# code
        private void button1_Click(object sender, RoutedEventArgs e)        {            TestEntities db = new TestEntities();            T1 t1 = new T1() { sname = "A" };            db.T1.AddObject(t1);            db.SaveChanges();            // .NET 3.5            // db.SaveChanges(false);            // db.SaveChanges(true);            // .NET 4.0            // db.SaveChanges( System.Data.Objects.SaveOptions.None );            // db.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);             // db.SaveChanges(SaveOptions.DetectChangesBeforeSave);            MessageBox.Show(t1.sid.ToString());        }
[解决办法]
SET @ID = SCOPE_IDENTITY存储过程

热点排行