以下に示すように、データベースを呼び出すメソッドがあります。
DAO メソッドを呼び出す BL メソッド:
public async Task<List<Classes>> GetClassesAndAddRules(string classId)
{
var classData = await Task.Run( () => _daoClass.GetClasses(classId));
//logic for adding rule
//..................................
}
DAO での DatabaseCall:
//*below method takes 1 second approx to return*
public List<Classes> GetClasses(string id)
{
var retVal = new List<Classes>();
using (var context = new test_db_context())
{
var rows = context.GetClassesById(id);
foreach (ClassesDBComplexType row in rows)
{
retVal.Add(Mapper.Map<GetClassesByClassIdOut>(row));
}
}
return retVal;
}
awaitを使用して DAO メソッドを呼び出すだけでパフォーマンスが向上しますか?
私の理解では、 GetClasses() は別のスレッドで呼び出されるため、ブロックされずに他の処理が続行されます。
どんな助けでも大歓迎です。