c# - 在 Entity Framework 数据库优先方法中如何从存储过程返回多个结果集?

标签 c# mysql sql-server entity-framework stored-procedures

我正在使用数据库优先的方法来使用 Entity Framework 。我在 MySQL 中创建了一个返回多个集的存储过程,我希望一次点击即可获取所有结果集,而不仅仅是顶部的一个结果集。

在我的存储过程中,我也传递参数。

最佳答案

您可以使用 SQLQuery 来执行您的过程:

public partial class NorthwindContext 
{
    public IEnumerable<CustomerOrderHistory> CustomerOrderHistory(string customerID)
    {
        var customerIDParameter = customerID != null ?
            new SqlParameter("@CustomerID", customerID) :
            new SqlParameter("@CustomerID", typeof(string));

        return Database.SqlQuery<CustomerOrderHistory>("CustOrderHist @CustomerID", customerIDParameter);
    }
}

模型看起来像:

public partial class CustomerOrderHistory
{
    public string ProductName { get; set; }
    public Nullable<int> Total { get; set; }
}

这是基于Northwind数据库的示例

关于c# - 在 Entity Framework 数据库优先方法中如何从存储过程返回多个结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29225651/

相关文章:

mysql - 我想在第三个括号 [] 内获取字符串

c# - 无法加载文件或程序集“System.Net.Http

c# - 实例化包含 static void Main() 的类

mysql - 在 SQL 上显示列值及其计数

c# - 从 sql server 获取顶部(开始号,结束号)行

SQL 查询查找最后一天使用的代码

sql-server - 如何通过 SQL 确定矩阵是否为 'positive definite'?

c# - '反序列化操作的回复消息正文时出错......' - 对于我调用的每个方法

c# - 如何在接口(interface)类中设置正确方法的参数

mysql - 按 ID 将第一个 MySQL 表中的数据追加到第二个表