C# 如何在实体框架中获取刚刚插入到表中的对象列表
获取对象列表的最佳方法刚刚插入到 数据库 我有向数据库添加新对象列表的代码,我想检索对象列表,而不必再次从数据库中选择 我希望SQL Server触发器中有类似于插入的C# 如何在实体框架中获取刚刚插入到表中的对象列表,c#,performance,entity-framework,C#,Performance,Entity Framework,获取对象列表的最佳方法刚刚插入到 数据库 我有向数据库添加新对象列表的代码,我想检索对象列表,而不必再次从数据库中选择 我希望SQL Server触发器中有类似于插入的insert 这是我的代码片段 List<string> productNames = new List<string>(); foreach (var name in productNames) { var product = ne
insert
这是我的代码片段
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
List products=new List();
foreach(productNames中的变量名称)
{
var product=新产品{Name=Name,Color=“something”,Body=“something Body”};
DbContext.Products.Add(产品);
}
DbContext.SaveChanges();
var result=ListProductsInserted;//我想买一个产品清单
我不想重写查询以从数据库检索数据
再说一遍
有更好的方法吗?如果我正确理解了你的问题,请使用下面的代码
List<string> productNames = new List<string>();
List<Product> holdProducts = new List<Product>();
foreach (var name in productNames)
{
var product = new Product {Name = name, Color = "something", Body="something body" };
DbContext.Products.Add(product);
holdProducts.Add(product);
}
DbContext.SaveChanges();
var result = holdProducts;
List products=new List();
List holdProducts=新列表();
foreach(productNames中的变量名称)
{
var product=新产品{Name=Name,Color=“something”,Body=“something Body”};
DbContext.Products.Add(产品);
添加(产品);
}
DbContext.SaveChanges();
var结果=持有产品;
最简单的方法是
您可以这样使用它:
yourContext.Entry(yourEntity).Reload();
如果将创建的产品保留在列表中,则在.SaveChanges()调用后,它们的值将更新。您可以在列表对象中执行此操作,并使用ToList()方法
var result=ListProductsInserted.ToList()代码>你理解的对,一开始我和你一样做,但我觉得这不是最优的,所以我想问是否有更好的方法。看起来这很不错。谢谢你的编辑1:我希望结果是列表产品,而不是产品列表HoldProducts必须是list
notlist
哦,我错过了一些东西,但是我已经更新了答案。