读书人

实体框架调用savechanges插入新数据后

发布时间: 2012-01-18 00:23:26 作者: rapoo

实体框架调用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存储过程

读书人网 >.NET

热点推荐