如何使用实体框架将mysql存储过程结果集设置为C#

如何使用实体框架将mysql存储过程结果集设置为C#,c#,mysql,sql,entity-framework,stored-procedures,C#,Mysql,Sql,Entity Framework,Stored Procedures,我正在尝试使用实体框架将mysql存储过程结果集设置为list。 我正在尝试以下代码: using (var db = new DistributorEntities()) { var returnedData = db.EmployeeInfor(); } 但是returnedData值为0 这是我的mysql存储过程 CREATE DEFINER=`root`@`localhost` PROCEDURE `EmployeeInfor`() BEGIN DECLARE Type1

我正在尝试使用实体框架将mysql存储过程结果集设置为list。 我正在尝试以下代码:

using (var db = new DistributorEntities())
{
    var returnedData = db.EmployeeInfor(); 
}
但是
returnedData
值为0

这是我的mysql存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `EmployeeInfor`()
BEGIN

DECLARE Type1 VARCHAR(30) DEFAULT '';
DECLARE Type2 VARCHAR(30) DEFAULT '';

CREATE TEMPORARY TABLE emp
SELECT
E.`Employee Code`, E.`First Name`,
E.`Middle Name`, E.`Last Name`,
E.Address, E.`Date of Birth`,
E.`NIC No`, E.`Employee Type 1`,
E.`Employee Type 2`, Type1,
Type2, E.`E mail`
FROM employee AS E
where E.isactive = 1;

CREATE TEMPORARY TABLE empType
SELECT `Employee Type Code`, `Type Description` FROM `employee type`;

SET SQL_SAFE_UPDATES = 0;

UPDATE emp AS E
INNER JOIN empType AS ET
ON E.`Employee Type 1` = ET.`Employee Type Code`
SET E.Type1 = ET.`Type Description`;

UPDATE emp AS E
INNER JOIN empType AS ET
ON E.`Employee Type 2` = ET.`Employee Type Code`
SET E.Type2 = ET.`Type Description`;

select 
E.`Employee Code`,E.`First Name`,
E.`Middle Name`,E.`Last Name`,
E.Address,E.`Date of Birth`,
E.`NIC No`,E.Type1,
E.Type2,E.`E mail`
FROM emp AS E;

drop TABLE if exists empType;
drop TABLE if exists emp;

END
如何从表中检索数据?
谢谢。

您也可以调用下面这样的存储过程,因为
{class name}
将是您的模型类,它将包含从sp返回的所有属性

var obj=(IObjectContextAdapter)this).ObjectContext.ExecuteStoreQuery(“调用EmployeeInfor”).ToList();
var obj = (IObjectContextAdapter)this).ObjectContext.ExecuteStoreQuery<employee>("call EmployeeInfor").ToList();