我已經在Helper
類以下的方法,我使用它精緻小巧稱爲後查詢多個:無法讀取的短小精悍
Helper.cs:
public SqlMapper.GridReader MQueries(string spName, object dynamicParams)
{
using (IDbConnection conn = new SqlConnection(ConfigurationManager.AppSettings["MyConnection"]))
{
conn.Open();
return conn.QueryMultiple(spName, dynamicParams, commandType: CommandType.StoredProcedure);
}
}
我打電話從以上稱爲DataAccess
另一類方法:
DataAccess.cs:
public Member GetMemberDetails(Member member)
{
var multi = Helper.MQueries("GetMemberDetails", member);
var member = multi.Read<Member>().Single();
var memberStatus = multi.Read<MemberStatus>().Single();
var memberContact = multi.Read<MemberContact>().ToList();
var memberFinancial = multi.Read<MemberFinancial>().ToList();
member.MemberStatus = memberStatus;
member.MemberContact = memberContact;
member.MemberFinancial = memberFinancial;
return member;
}
但是,multi variable
有數據,但是一旦我想分開它並映射到另一個變量,我得到了名爲cannot read while the reader is closed
的異常。
我知道那是因爲我使用的using statement
,所以multi variable
後,連接得到自動關閉,所以我不能讀什麼..
我怎樣才能解決這個問題?
你的答案大加讚賞
感謝
你應該簡單地從輔助方法返回的數據集,而不是讀者。我不確切知道哪個API返回數據集,但我想你可以找到這個 – ibubi