gpt4 book ai didi

c# - 如何使用.net core Entity Framework 调用返回list的存储过程

转载 作者:行者123 更新时间:2023-12-02 18:42:10 24 4
gpt4 key购买 nike

我正在迁移 .Net Framework项目为.Net Core 。在我的.Net Framework代码 我调用一个存储过程,它返回 list<int>datatable :

 DataTable dt = new DLDistinctWarehousePackingOperation().CreatePacking(packingId, userId, 
previousOrderId, totalAwaitingOrdersAllowed);
List<int> items = new List<int>();
foreach (DataRow dr in dt.Rows)
{
items.Add(int.Parse(dr["orderid"].ToString()));
}
return items;

这是.Net Core到目前为止我已经想出的代码:

List<int> items = dbContext.FromSql("CreatePacking")
.Select(t => new List<int> { t.OrderId.Value })
.ToList();

但是这不起作用。问题是一个对象需要遵循 dbContext - 就像这样 dbContext.MyObject.FromSql - 但在这种情况下它应该只是一个整数列表 - 存储过程没有连接到任何特定对象。我怎样才能返回 List<int> ?或者也许它必须转换成一个类?提前致谢。 enter image description here

最佳答案

假设存储过程名称为 CreatePacking,请在 DbContext 中定义该属性。例如

public class MyContext : DbContext
{
...............

[NotMapped]
public DbSet<CreatePackingResult> CreatePackingResult { get; set; }

...............
...............
}

然后定义结果类

 public class CreatePackingResult
{
public int OrderId { get; set;}
}

终于

 List<int> items = dbContext.CreatePackingResult.FromSqlRaw("EXECUTE [dbo].[CreatePacking]")
.Select(t => t.OrderId)
.ToList();

关于c# - 如何使用.net core Entity Framework 调用返回list<int>的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67866815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com