Ich habe die folgende Methode in der Helper
Klasse zu lesen, die ich mit Dapper bin mit:fehlgeschlagen, nachdem genannt Abfrage mehr in dapper
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);
}
}
Und ich rufe die obige Verfahren von einer anderen Klasse DataAccess
genannt:
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;
}
Allerdings haben die multi variable
die Daten, aber sobald ich es trennen und in eine andere Variable zuordnen möchte, bekam ich die Ausnahme cannot read while the reader is closed
genannt.
Ich weiß, dass, weil ich die using statement
gewohnt bin, so nach dem multi variable
, wird die Verbindung automatisch geschlossen bekommen, deshalb kann ich nicht alles lesen ..
Wie kann ich dieses Problem lösen?
Ihre Antwort sehr geschätzt
Dank
Sie einfach das Daten-Set stattdessen die Leser von der Hilfsmethode zurückgeben sollte. Ich weiß nicht genau, welche API den Datensatz zurückgibt, aber ich denke, du kannst das herausfinden – ibubi