如何使用实体框架将mysql存储过程结果集设置为C#
我正在尝试使用实体框架将mysql存储过程结果集设置为list。 我正在尝试以下代码:如何使用实体框架将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
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();