实体框架中如何获取刚刚插入表中的对象列表

获取刚刚插入数据库的对象列表的最佳方法是什么?


我有将新对象列表添加到数据库的代码,我想检索对象列表而无需从数据库中再次选择。


我希望insert在 SQL Server 触发器中出现类似的东西。


这是我的代码片段。


        List<string> productNames = new List<string>();


        foreach (var name in productNames)

        {

            var product = new Product {Name = name, Color = "something", Body="something body" };

            DbContext.Products.Add(product);

        }


        DbContext.SaveChanges();


        var result = ListProductsInserted; // I want to get list product

我不想重写查询以再次从数据库中检索数据。


有没有更好的办法?


慕村225694
浏览 192回答 2
2回答

潇潇雨雨

如果我正确理解您的问题,请使用下面的代码List<string> productNames = new List<string>();List<Product> holdProducts = new List<Product>();foreach (var name in productNames){&nbsp; &nbsp; var product = new Product {Name = name, Color = "something", Body="something body" };&nbsp; &nbsp; DbContext.Products.Add(product);&nbsp; &nbsp; holdProducts.Add(product);}DbContext.SaveChanges();var result = holdProducts;&nbsp;

海绵宝宝撒

最简单的方法是DbEntityEntry.Reload()你可以这样使用它:yourContext.Entry(yourEntity).Reload();
打开App,查看更多内容
随时随地看视频慕课网APP