我有一个返回未知数量数据的 SP,这是我的查询示例:
我的SP:
WHILE (@counter <= @SomeParameter)
BEGIN
Select *
From tblFoo
Where tblFoo.Counter=@counter
@counter=@counter+1
END
为了有效地存储数据,我想使用 DataSet ,它将在每个 DataTable 中存储每个 Selects 的结果。
由于我的应用程序基于 EF 5 ,我试图用我的dbContext
对象调用我的 SP,这就是我试图做的。
var ds=db.Database.SqlQuery<DataSet>("MySP @counter @SomeParameter", value1,value2);
这似乎无法正常工作。
我想使用经典的 ADO.NET 来解决这个问题,并使用SqlDataAdapter
,但是我不确定如何将原始 Connection 引用从.Connection 属性传递dbContext
给SqlDataAdapter
.Connection 属性,因为它的类型不同。
注意:在这个问题上我使用 DataSet 而不是 Entities Collection 的原因是因为我从 SP 获得的结果可能有不同的列,因此我不确定 Entities Collection 是否会这样做。
我想知道如何使用实体(或 SqlAdapter)调用我的 SP,以使用我的 SP 中的每个 Select 的结果填充我的 DataSet 中的每个表。
我是 EF 的新手,所以如果我在思考或做错任何事,任何小费都会被告知。