如何通过调用存储过程获取数据表上的数据
本文关键字:数据 数据表 获取 何通过 调用 存储过程 | 更新日期: 2023-09-27 18:29:03
我有一个这样的存储过程:
ALTER PROCEDURE [dbo].[SelectUserInfo]
AS
BEGIN
select * from User_Info
END
并且我正在使用LINQ
来调用此过程,并希望将数据存储在datatable
或dataset
中我在做什么:
DataClassesDataContext dc = new DataClassesDataContext();
DataTable dt = null;
dt = (DataTable)dc.SelectUserInfo();
但它不起作用——它的给出错误。
错误是:
无法将类型为"SingleResult `1[SelectUserInfoResult]"的对象强制转换为类型"System.Data.DataTable".
请帮我做这个。。。
确保您确实需要DataTable/Datat。
DBML文件为存储过程创建一个返回类,在您的情况下,有一个类SelectUserInfoResults
是在您将存储过程SelectUserInfo添加到DBML文件时创建的。
因此,如果您没有被迫使用DataTables/DataSet,您可以简单地创建一个List<SelectUserInfoResults>
作为返回类型。
DataTables/DataSet和Linq-To-Entities类的性质非常不同,我建议尽可能避免将它们混合在一起。