asp.net - 如何使用 Fromsql() 处理 Dotnet 核心中具有多个表的数据集

标签 asp.net .net .net-core entity-framework-core asp.net-core-webapi

我正在使用 dot net core 创建 WebApi

我创建了从 2 个表返回数据的过程 AS:-

select * from table1
select * from table2

我的型号列表为:-

public class ModelList
{
public model1 m1 { get; set; }
public model2 m2 { get; set; }
}

我正在执行程序并在模式列表中接收结果:-

List<ModelList> ML= new List<ModelList>();
ML= db.ModelList.FromSql("EXECUTE [dbo].[usp]").ToList();

我没有在这两个单独的对象中获得这两个表的结果。

它适用于单个表,但不适用于多个表。

请指出我哪里出错了?

或者在.net core中是否可行?

最佳答案

以下实现将提供所需的结果:

public ModelList ExecuteMultiple(string query){

             using( IDbConnection connection = new SqlConnection(YOUR_CONNECTION_STRING)){
                try{
                    connection.Open();
                    var multi = connection.QueryMultiple(query);
                    var modelList = new ModelList();
                    modelList.m1 = multi.Read<model1>();
                    modelList.m2 = multi.Read<model2>();
                    return modelList;
                }
                catch( Exception ex){
                    Console.WriteLine(ex.Message);
                }finally{
                    connection.Close();
                }
             }

             return null;
         }

用法:

var modelList = ExecuteMultiple("EXECUTE [dbo].[usp]");

关于asp.net - 如何使用 Fromsql() 处理 Dotnet 核心中具有多个表的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44415444/

相关文章:

c# - 在运行时编译代码时添加额外的引用

c# - 使用 Linq 获取唯一条目

c# - 如何在表单中编辑和保存设置?

c# - Cake Build - 将 NuGet 包更新到最新版本

image-manipulation - 使用 .NET Core 调整图像大小?

asp.net - 使用 Cookie 身份验证的 asp net core 项目 MVC Controller 和使用 Bearer 的 api 端点

c# - 值不能为空。参数名称 : items (in Dropdown List) ASP. NET MVC5

asp.net - 如何在 IIS 中解除套接字服务器的绑定(bind)

ubuntu - 如何在 Ubuntu 上运行除 5000 端口之外的 ASP.NET Core 端口?

azure - Webjob 导致 ASP.NET core 出现性能问题