Begin */End * 메소드를 제공하지만 비동기 버전은 제공하지 않는 이전 버전의 EL을 사용하고 있습니다. 간단한 확장 방법으로 생활을 단순화합니다.
public static async Task<IDataReader> ExecuteReaderAsync(this SqlDatabase database, DbCommand command)
{
return await Task<IDataReader>.Factory.FromAsync(database.BeginExecuteReader, database.EndExecuteReader, command, null);
}
public static async Task<object> ExecuteScalarAsync(this SqlDatabase database, DbCommand command)
{
return await Task<object>.Factory.FromAsync(database.BeginExecuteScalar, database.EndExecuteScalar, command, null);
}
public static async Task<XmlReader> ExecuteXmlReaderAsync(this SqlDatabase database, DbCommand command)
{
return await Task<XmlReader>.Factory.FromAsync(database.BeginExecuteXmlReader, database.EndExecuteXmlReader, command, null);
}
public static async Task<int> ExecuteNonQueryAsync(this SqlDatabase database, DbCommand command)
{
return await Task<int>.Factory.FromAsync(database.BeginExecuteNonQuery, database.EndExecuteNonQuery, command, null);
}
연결을 여는 방법은 무엇입니까? –
실제로 이러한 메소드가 표시되지 않습니다. Nuget을 통해 최신 엔터프라이즈 라이브러리 데이터를 얻었지만 여전히 이러한 메소드를 찾을 수 없습니다. ent lib 버전을 알려 주실 수 있습니까? – Bala
ExecuteReaderAsync는 엔터프라이즈 라이브러리에서 가져온 것이 아닙니다. - https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executereaderasync(v=vs.110).aspx – StingyJack