Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在实体框架中获取刚刚插入到表中的对象列表_C#_Performance_Entity Framework - Fatal编程技术网

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

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

获取对象列表的最佳方法刚刚插入到 数据库

我有向数据库添加新对象列表的代码,我想检索对象列表,而不必再次从数据库中选择

我希望SQL Server触发器中有类似于插入的
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
not
list
哦,我错过了一些东西,但是我已经更新了答案。